home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / AIncludes / Files.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  134.8 KB  |  4,665 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Files.a
  3. ;
  4. ;    Contains:    File Manager (HFS and MFS) Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1985-1998 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__FILES__') = 'UNDEFINED' THEN
  18. __FILES__ SET 1
  19.  
  20.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  21.     include 'MacTypes.a'
  22.     ENDIF
  23.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  24.     include 'MixedMode.a'
  25.     ENDIF
  26.     IF &TYPE('__OSUTILS__') = 'UNDEFINED' THEN
  27.     include 'OSUtils.a'
  28.     ENDIF
  29.  
  30. ;  Finder constants where moved to Finder.≈ 
  31.     IF &TYPE('__FINDER__') = 'UNDEFINED' THEN
  32.     include 'Finder.a'
  33.     ENDIF
  34.  
  35.  
  36. fsCurPerm                        EQU        $00                    ; open access permissions in ioPermssn 
  37. fsRdPerm                        EQU        $01
  38. fsWrPerm                        EQU        $02
  39. fsRdWrPerm                        EQU        $03
  40. fsRdWrShPerm                    EQU        $04
  41. fsRdDenyPerm                    EQU        $10                    ; for use with OpenDeny and OpenRFDeny 
  42. fsWrDenyPerm                    EQU        $20                    ; for use with OpenDeny and OpenRFDeny 
  43.  
  44. ioDirFlg                        EQU        4                    ; directory bit in ioFlAttrib 
  45. ioDirMask                        EQU        $10
  46.  
  47. fsRtParID                        EQU        1
  48. fsRtDirID                        EQU        2
  49.  
  50. fsAtMark                        EQU        0                    ; positioning modes in ioPosMode 
  51. fsFromStart                        EQU        1
  52. fsFromLEOF                        EQU        2
  53. fsFromMark                        EQU        3
  54.  
  55.                                                             ; ioPosMode flags 
  56. pleaseCacheBit                    EQU        4                    ; please cache this request 
  57. pleaseCacheMask                    EQU        $0010
  58. noCacheBit                        EQU        5                    ; please don't cache this request 
  59. noCacheMask                        EQU        $0020
  60. rdVerifyBit                        EQU        6                    ; read verify mode 
  61. rdVerifyMask                    EQU        $0040
  62. rdVerify                        EQU        64                    ; old name of rdVerifyMask 
  63. newLineBit                        EQU        7                    ; newline mode 
  64. newLineMask                        EQU        $0080
  65. newLineCharMask                    EQU        $FF00                ; newline character 
  66.  
  67.  
  68.                                                             ; CatSearch Search bitmask Constants 
  69. fsSBPartialName                    EQU        1
  70. fsSBFullName                    EQU        2
  71. fsSBFlAttrib                    EQU        4
  72. fsSBFlFndrInfo                    EQU        8
  73. fsSBFlLgLen                        EQU        32
  74. fsSBFlPyLen                        EQU        64
  75. fsSBFlRLgLen                    EQU        128
  76. fsSBFlRPyLen                    EQU        256
  77. fsSBFlCrDat                        EQU        512
  78. fsSBFlMdDat                        EQU        1024
  79. fsSBFlBkDat                        EQU        2048
  80. fsSBFlXFndrInfo                    EQU        4096
  81. fsSBFlParID                        EQU        8192
  82. fsSBNegate                        EQU        16384
  83. fsSBDrUsrWds                    EQU        8
  84. fsSBDrNmFls                        EQU        16
  85. fsSBDrCrDat                        EQU        512
  86. fsSBDrMdDat                        EQU        1024
  87. fsSBDrBkDat                        EQU        2048
  88. fsSBDrFndrInfo                    EQU        4096
  89. fsSBDrParID                        EQU        8192
  90.  
  91.                                                             ; CatSearch Search bit value Constants 
  92. fsSBPartialNameBit                EQU        0                    ;ioFileName points to a substring
  93. fsSBFullNameBit                    EQU        1                    ;ioFileName points to a match string
  94. fsSBFlAttribBit                    EQU        2                    ;search includes file attributes
  95. fsSBFlFndrInfoBit                EQU        3                    ;search includes finder info
  96. fsSBFlLgLenBit                    EQU        5                    ;search includes data logical length
  97. fsSBFlPyLenBit                    EQU        6                    ;search includes data physical length
  98. fsSBFlRLgLenBit                    EQU        7                    ;search includes resource logical length
  99. fsSBFlRPyLenBit                    EQU        8                    ;search includes resource physical length
  100. fsSBFlCrDatBit                    EQU        9                    ;search includes create date
  101. fsSBFlMdDatBit                    EQU        10                    ;search includes modification date
  102. fsSBFlBkDatBit                    EQU        11                    ;search includes backup date
  103. fsSBFlXFndrInfoBit                EQU        12                    ;search includes extended finder info
  104. fsSBFlParIDBit                    EQU        13                    ;search includes file's parent ID
  105. fsSBNegateBit                    EQU        14                    ;return all non-matches
  106. fsSBDrUsrWdsBit                    EQU        3                    ;search includes directory finder info
  107. fsSBDrNmFlsBit                    EQU        4                    ;search includes directory valence
  108. fsSBDrCrDatBit                    EQU        9                    ;directory-named version of fsSBFlCrDatBit
  109. fsSBDrMdDatBit                    EQU        10                    ;directory-named version of fsSBFlMdDatBit
  110. fsSBDrBkDatBit                    EQU        11                    ;directory-named version of fsSBFlBkDatBit
  111. fsSBDrFndrInfoBit                EQU        12                    ;directory-named version of fsSBFlXFndrInfoBit
  112. fsSBDrParIDBit                    EQU        13                    ;directory-named version of fsSBFlParIDBit
  113.  
  114.                                                             ; vMAttrib (GetVolParms) bit position constants 
  115. bLimitFCBs                        EQU        31
  116. bLocalWList                        EQU        30
  117. bNoMiniFndr                        EQU        29
  118. bNoVNEdit                        EQU        28
  119. bNoLclSync                        EQU        27
  120. bTrshOffLine                    EQU        26
  121. bNoSwitchTo                        EQU        25
  122. bNoDeskItems                    EQU        20
  123. bNoBootBlks                        EQU        19
  124. bAccessCntl                        EQU        18
  125. bNoSysDir                        EQU        17
  126. bHasExtFSVol                    EQU        16
  127. bHasOpenDeny                    EQU        15
  128. bHasCopyFile                    EQU        14
  129. bHasMoveRename                    EQU        13
  130. bHasDesktopMgr                    EQU        12
  131. bHasShortName                    EQU        11
  132. bHasFolderLock                    EQU        10
  133. bHasPersonalAccessPrivileges    EQU        9
  134. bHasUserGroupList                EQU        8
  135. bHasCatSearch                    EQU        7
  136. bHasFileIDs                        EQU        6
  137. bHasBTreeMgr                    EQU        5
  138. bHasBlankAccessPrivileges        EQU        4
  139. bSupportsAsyncRequests            EQU        3                    ; asynchronous requests to this volume are handled correctly at any time
  140. bSupportsTrashVolumeCache        EQU        2
  141.  
  142.  
  143.                                                             ; Desktop Database icon Constants 
  144. kLargeIcon                        EQU        1
  145. kLarge4BitIcon                    EQU        2
  146. kLarge8BitIcon                    EQU        3
  147. kSmallIcon                        EQU        4
  148. kSmall4BitIcon                    EQU        5
  149. kSmall8BitIcon                    EQU        6
  150.  
  151. kLargeIconSize                    EQU        256
  152. kLarge4BitIconSize                EQU        512
  153. kLarge8BitIconSize                EQU        1024
  154. kSmallIconSize                    EQU        64
  155. kSmall4BitIconSize                EQU        128
  156. kSmall8BitIconSize                EQU        256
  157.  
  158.                                                             ; Foreign Privilege Model Identifiers 
  159. fsUnixPriv                        EQU        1
  160.  
  161.                                                             ; Authentication Constants 
  162. kNoUserAuthentication            EQU        1
  163. kPassword                        EQU        2
  164. kEncryptPassword                EQU        3
  165. kTwoWayEncryptPassword            EQU        6
  166.  
  167. ;  mapping codes (ioObjType) for MapName & MapID 
  168.  
  169. kOwnerID2Name                    EQU        1
  170. kGroupID2Name                    EQU        2
  171. kOwnerName2ID                    EQU        3
  172. kGroupName2ID                    EQU        4                    ; types of oj object to be returned (ioObjType) for _GetUGEntry 
  173. kReturnNextUser                    EQU        1
  174. kReturnNextGroup                EQU        2
  175. kReturnNextUG                    EQU        3
  176.  
  177.  
  178. ;  Folder and File values of access privileges 
  179.  
  180. kfullPrivileges                    EQU        $00070007            ;            ; all privileges for everybody and owner
  181. kownerPrivileges                EQU        $00000007            ;            ; all privileges for owner only
  182. ;  values of user IDs and group IDs 
  183.  
  184. knoUser                            EQU        0
  185. kadministratorUser                EQU        1
  186.  
  187. knoGroup                        EQU        0
  188.  
  189. GetVolParmsInfoBuffer    RECORD 0
  190. vMVersion                 ds.w    1                ; offset: $0 (0)        ; version number
  191. vMAttrib                 ds.l    1                ; offset: $2 (2)        ; bit vector of attributes (see vMAttrib constants)
  192. vMLocalHand                 ds.l    1                ; offset: $6 (6)        ; handle to private data
  193. vMServerAdr                 ds.l    1                ; offset: $A (10)        ; AppleTalk server address or zero
  194. vMVolumeGrade             ds.l    1                ; offset: $E (14)        ; approx. speed rating or zero if unrated
  195. vMForeignPrivID             ds.w    1                ; offset: $12 (18)        ; foreign privilege model supported or zero if none
  196. sizeof                     EQU *                    ; size:   $14 (20)
  197.                         ENDR
  198. ; typedef ParamBlockRec *                ParmBlkPtr
  199.  
  200. IOParam                    RECORD 0
  201. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  202. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  203. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  204. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  205. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  206. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  207. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  208. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  209. ioRefNum                 ds.w    1                ; offset: $18 (24)        ; refNum for I/O operation
  210. ioVersNum                 ds.b    1                ; offset: $1A (26)        ; version number
  211. ioPermssn                 ds.b    1                ; offset: $1B (27)        ; Open: permissions (byte)
  212. ioMisc                     ds.l    1                ; offset: $1C (28)        ; Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)
  213. ioBuffer                 ds.l    1                ; offset: $20 (32)        ; data buffer Ptr
  214. ioReqCount                 ds.l    1                ; offset: $24 (36)        ; requested byte count; also = ioNewDirID
  215. ioActCount                 ds.l    1                ; offset: $28 (40)        ; actual byte count completed
  216. ioPosMode                 ds.w    1                ; offset: $2C (44)        ; initial file positioning
  217. ioPosOffset                 ds.l    1                ; offset: $2E (46)        ; file position offset
  218. sizeof                     EQU *                    ; size:   $32 (50)
  219.                         ENDR
  220. ; typedef struct IOParam *                IOParamPtr
  221.  
  222. FileParam                RECORD 0
  223. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  224. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  225. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  226. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  227. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  228. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  229. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  230. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  231. ioFRefNum                 ds.w    1                ; offset: $18 (24)        ; reference number
  232. ioFVersNum                 ds.b    1                ; offset: $1A (26)        ; version number
  233. filler1                     ds.b    1                ; offset: $1B (27)
  234. ioFDirIndex                 ds.w    1                ; offset: $1C (28)        ; GetFInfo directory index
  235. ioFlAttrib                 ds.b    1                ; offset: $1E (30)        ; GetFInfo: in-use bit=7, lock bit=0
  236. ioFlVersNum                 ds.b    1                ; offset: $1F (31)        ; file version number
  237. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)        ; user info
  238. ioFlNum                     ds.l    1                ; offset: $30 (48)        ; GetFInfo: file number; TF- ioDirID
  239. ioFlStBlk                 ds.w    1                ; offset: $34 (52)        ; start file block (0 if none)
  240. ioFlLgLen                 ds.l    1                ; offset: $36 (54)        ; logical length (EOF)
  241. ioFlPyLen                 ds.l    1                ; offset: $3A (58)        ; physical length
  242. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)        ; start block rsrc fork
  243. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)        ; file logical length rsrc fork
  244. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)        ; file physical length rsrc fork
  245. ioFlCrDat                 ds.l    1                ; offset: $48 (72)        ; file creation date& time (32 bits in secs)
  246. ioFlMdDat                 ds.l    1                ; offset: $4C (76)        ; last modified date and time
  247. sizeof                     EQU *                    ; size:   $50 (80)
  248.                         ENDR
  249. ; typedef struct FileParam *            FileParamPtr
  250.  
  251. VolumeParam                RECORD 0
  252. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  253. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  254. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  255. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  256. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  257. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  258. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  259. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  260. filler2                     ds.l    1                ; offset: $18 (24)
  261. ioVolIndex                 ds.w    1                ; offset: $1C (28)        ; volume index number
  262. ioVCrDate                 ds.l    1                ; offset: $1E (30)        ; creation date and time
  263. ioVLsBkUp                 ds.l    1                ; offset: $22 (34)        ; last backup date and time
  264. ioVAtrb                     ds.w    1                ; offset: $26 (38)        ; volume attrib
  265. ioVNmFls                 ds.w    1                ; offset: $28 (40)        ; number of files in directory
  266. ioVDirSt                 ds.w    1                ; offset: $2A (42)        ; start block of file directory
  267. ioVBlLn                     ds.w    1                ; offset: $2C (44)        ; GetVolInfo: length of dir in blocks
  268. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)        ; for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB
  269. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)        ; for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024)
  270. ioVClpSiz                 ds.l    1                ; offset: $34 (52)        ; GetVolInfo: bytes to allocate at a time
  271. ioAlBlSt                 ds.w    1                ; offset: $38 (56)        ; starting disk(512-byte) block in block map
  272. ioVNxtFNum                 ds.l    1                ; offset: $3A (58)        ; GetVolInfo: next free file number
  273. ioVFrBlk                 ds.w    1                ; offset: $3E (62)        ; GetVolInfo: # free alloc blks for this vol
  274. sizeof                     EQU *                    ; size:   $40 (64)
  275.                         ENDR
  276. ; typedef struct VolumeParam *            VolumeParamPtr
  277.  
  278. CntrlParam                RECORD 0
  279. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  280. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  281. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  282. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  283. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  284. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  285. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  286. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  287. ioCRefNum                 ds.w    1                ; offset: $18 (24)        ; refNum for I/O operation
  288. csCode                     ds.w    1                ; offset: $1A (26)        ; word for control status code
  289. csParam                     ds.w    11                ; offset: $1C (28)        ; operation-defined parameters
  290. sizeof                     EQU *                    ; size:   $32 (50)
  291.                         ENDR
  292. ; typedef struct CntrlParam *            CntrlParamPtr
  293.  
  294. SlotDevParam            RECORD 0
  295. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  296. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  297. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  298. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  299. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  300. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  301. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  302. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  303. ioSRefNum                 ds.w    1                ; offset: $18 (24)
  304. ioSVersNum                 ds.b    1                ; offset: $1A (26)
  305. ioSPermssn                 ds.b    1                ; offset: $1B (27)
  306. ioSMix                     ds.l    1                ; offset: $1C (28)
  307. ioSFlags                 ds.w    1                ; offset: $20 (32)
  308. ioSlot                     ds.b    1                ; offset: $22 (34)
  309. ioID                     ds.b    1                ; offset: $23 (35)
  310. sizeof                     EQU *                    ; size:   $24 (36)
  311.                         ENDR
  312. ; typedef struct SlotDevParam *            SlotDevParamPtr
  313.  
  314. MultiDevParam            RECORD 0
  315. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  316. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  317. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  318. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  319. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  320. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  321. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  322. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  323. ioMRefNum                 ds.w    1                ; offset: $18 (24)
  324. ioMVersNum                 ds.b    1                ; offset: $1A (26)
  325. ioMPermssn                 ds.b    1                ; offset: $1B (27)
  326. ioMMix                     ds.l    1                ; offset: $1C (28)
  327. ioMFlags                 ds.w    1                ; offset: $20 (32)
  328. ioSEBlkPtr                 ds.l    1                ; offset: $22 (34)
  329. sizeof                     EQU *                    ; size:   $26 (38)
  330.                         ENDR
  331. ; typedef struct MultiDevParam *        MultiDevParamPtr
  332.  
  333. ParamBlockRec            RECORD 0
  334. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  335. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  336. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  337. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  338. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  339. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  340. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  341. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  342. ioRefNum                 ds.w    1                ; offset: $18 (24)        ; refNum for I/O operation
  343. ioVersNum                 ds.b    1                ; offset: $1A (26)        ; version number
  344. ioPermssn                 ds.b    1                ; offset: $1B (27)        ; Open: permissions (byte)
  345. ioMisc                     ds.l    1                ; offset: $1C (28)        ; Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)
  346. ioBuffer                 ds.l    1                ; offset: $20 (32)        ; data buffer Ptr
  347. ioReqCount                 ds.l    1                ; offset: $24 (36)        ; requested byte count; also = ioNewDirID
  348. ioActCount                 ds.l    1                ; offset: $28 (40)        ; actual byte count completed
  349. ioPosMode                 ds.w    1                ; offset: $2C (44)        ; initial file positioning
  350. ioPosOffset                 ds.l    1                ; offset: $2E (46)        ; file position offset
  351.                          ORG 24
  352. ioFRefNum                 ds.w    1                ; offset: $18 (24)        ; reference number
  353. ioFVersNum                 ds.b    1                ; offset: $1A (26)        ; version number
  354. filler1                     ds.b    1                ; offset: $1B (27)
  355. ioFDirIndex                 ds.w    1                ; offset: $1C (28)        ; GetFInfo directory index
  356. ioFlAttrib                 ds.b    1                ; offset: $1E (30)        ; GetFInfo: in-use bit=7, lock bit=0
  357. ioFlVersNum                 ds.b    1                ; offset: $1F (31)        ; file version number
  358. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)        ; user info
  359. ioFlNum                     ds.l    1                ; offset: $30 (48)        ; GetFInfo: file number; TF- ioDirID
  360. ioFlStBlk                 ds.w    1                ; offset: $34 (52)        ; start file block (0 if none)
  361. ioFlLgLen                 ds.l    1                ; offset: $36 (54)        ; logical length (EOF)
  362. ioFlPyLen                 ds.l    1                ; offset: $3A (58)        ; physical length
  363. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)        ; start block rsrc fork
  364. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)        ; file logical length rsrc fork
  365. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)        ; file physical length rsrc fork
  366. ioFlCrDat                 ds.l    1                ; offset: $48 (72)        ; file creation date& time (32 bits in secs)
  367. ioFlMdDat                 ds.l    1                ; offset: $4C (76)        ; last modified date and time
  368.                          ORG 24
  369. filler2                     ds.l    1                ; offset: $18 (24)
  370. ioVolIndex                 ds.w    1                ; offset: $1C (28)        ; volume index number
  371. ioVCrDate                 ds.l    1                ; offset: $1E (30)        ; creation date and time
  372. ioVLsBkUp                 ds.l    1                ; offset: $22 (34)        ; last backup date and time
  373. ioVAtrb                     ds.w    1                ; offset: $26 (38)        ; volume attrib
  374. ioVNmFls                 ds.w    1                ; offset: $28 (40)        ; number of files in directory
  375. ioVDirSt                 ds.w    1                ; offset: $2A (42)        ; start block of file directory
  376. ioVBlLn                     ds.w    1                ; offset: $2C (44)        ; GetVolInfo: length of dir in blocks
  377. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)        ; for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB
  378. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)        ; for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024)
  379. ioVClpSiz                 ds.l    1                ; offset: $34 (52)        ; GetVolInfo: bytes to allocate at a time
  380. ioAlBlSt                 ds.w    1                ; offset: $38 (56)        ; starting disk(512-byte) block in block map
  381. ioVNxtFNum                 ds.l    1                ; offset: $3A (58)        ; GetVolInfo: next free file number
  382. ioVFrBlk                 ds.w    1                ; offset: $3E (62)        ; GetVolInfo: # free alloc blks for this vol
  383.                          ORG 24
  384. ioCRefNum                 ds.w    1                ; offset: $18 (24)        ; refNum for I/O operation
  385. csCode                     ds.w    1                ; offset: $1A (26)        ; word for control status code
  386. csParam                     ds.w    11                ; offset: $1C (28)        ; operation-defined parameters
  387.                          ORG 24
  388. ioSRefNum                 ds.w    1                ; offset: $18 (24)
  389. ioSVersNum                 ds.b    1                ; offset: $1A (26)
  390. ioSPermssn                 ds.b    1                ; offset: $1B (27)
  391. ioSMix                     ds.l    1                ; offset: $1C (28)
  392. ioSFlags                 ds.w    1                ; offset: $20 (32)
  393. ioSlot                     ds.b    1                ; offset: $22 (34)
  394. ioID                     ds.b    1                ; offset: $23 (35)
  395.                          ORG 24
  396. ioMRefNum                 ds.w    1                ; offset: $18 (24)
  397. ioMVersNum                 ds.b    1                ; offset: $1A (26)
  398. ioMPermssn                 ds.b    1                ; offset: $1B (27)
  399. ioMMix                     ds.l    1                ; offset: $1C (28)
  400. ioMFlags                 ds.w    1                ; offset: $20 (32)
  401. ioSEBlkPtr                 ds.l    1                ; offset: $22 (34)
  402.                          ORG 80
  403. sizeof                     EQU *                    ; size:   $50 (80)
  404.                         ENDR
  405. CInfoPBRec                RECORD 0
  406. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  407. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  408. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  409. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  410. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  411. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  412. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  413. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  414. ioFRefNum                 ds.w    1                ; offset: $18 (24)
  415. ioFVersNum                 ds.b    1                ; offset: $1A (26)
  416. filler1                     ds.b    1                ; offset: $1B (27)
  417. ioFDirIndex                 ds.w    1                ; offset: $1C (28)
  418. ioFlAttrib                 ds.b    1                ; offset: $1E (30)
  419. ioACUser                 ds.b    1                ; offset: $1F (31)
  420. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)
  421. ioDirID                     ds.l    1                ; offset: $30 (48)
  422. ioFlStBlk                 ds.w    1                ; offset: $34 (52)
  423. ioFlLgLen                 ds.l    1                ; offset: $36 (54)
  424. ioFlPyLen                 ds.l    1                ; offset: $3A (58)
  425. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)
  426. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)
  427. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)
  428. ioFlCrDat                 ds.l    1                ; offset: $48 (72)
  429. ioFlMdDat                 ds.l    1                ; offset: $4C (76)
  430. ioFlBkDat                 ds.l    1                ; offset: $50 (80)
  431. ioFlXFndrInfo             ds        FXInfo            ; offset: $54 (84)
  432. ioFlParID                 ds.l    1                ; offset: $64 (100)
  433. ioFlClpSiz                 ds.l    1                ; offset: $68 (104)
  434.                          ORG 32
  435. ioDrUsrWds                 ds        DInfo            ; offset: $20 (32)
  436. ioDrDirID                 ds.l    1                ; offset: $30 (48)
  437. ioDrNmFls                 ds.w    1                ; offset: $34 (52)
  438. filler3                     ds.w    9                ; offset: $36 (54)
  439. ioDrCrDat                 ds.l    1                ; offset: $48 (72)
  440. ioDrMdDat                 ds.l    1                ; offset: $4C (76)
  441. ioDrBkDat                 ds.l    1                ; offset: $50 (80)
  442. ioDrFndrInfo             ds        DXInfo            ; offset: $54 (84)
  443. ioDrParID                 ds.l    1                ; offset: $64 (100)
  444.                          ORG 108
  445. sizeof                     EQU *                    ; size:   $6C (108)
  446.                         ENDR
  447. ; typedef union CInfoPBRec *            CInfoPBPtr
  448.  
  449. XCInfoPBRec                RECORD 0
  450. qLink                     ds.l    1                ; offset: $0 (0)
  451. qType                     ds.w    1                ; offset: $4 (4)
  452. ioTrap                     ds.w    1                ; offset: $6 (6)
  453. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  454. ioCompletion             ds.l    1                ; offset: $C (12)        ;  --> A pointer to a completion routine 
  455. ioResult                 ds.w    1                ; offset: $10 (16)        ;  --> The result code of the function 
  456. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ;  --> Pointer to pathname to object 
  457. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ;  --> A volume specification 
  458. filler1                     ds.l    1                ; offset: $18 (24)
  459. ioShortNamePtr             ds.l    1                ; offset: $1C (28)        ;  <-> A pointer to the short name string buffer - required! 
  460. filler2                     ds.w    1                ; offset: $20 (32)
  461. ioPDType                 ds.w    1                ; offset: $22 (34)        ;  <-- The ProDOS file type 
  462. ioPDAuxType                 ds.l    1                ; offset: $24 (36)        ;  <-- The ProDOS aux type 
  463. filler3                     ds.l    2                ; offset: $28 (40)
  464. ioDirID                     ds.l    1                ; offset: $30 (48)        ;  --> A directory ID 
  465. sizeof                     EQU *                    ; size:   $34 (52)
  466.                         ENDR
  467. ; typedef struct XCInfoPBRec *            XCInfoPBPtr
  468.  
  469. ;  Catalog position record 
  470. CatPositionRec            RECORD 0
  471. initialize                 ds.l    1                ; offset: $0 (0)
  472. priv                     ds.w    6                ; offset: $4 (4)
  473. sizeof                     EQU *                    ; size:   $10 (16)
  474.                         ENDR
  475. FSSpec                    RECORD 0
  476. vRefNum                     ds.w    1                ; offset: $0 (0)
  477. parID                     ds.l    1                ; offset: $2 (2)
  478. name                     ds        StrFileName        ; offset: $6 (6)        ;  a Str63 on MacOS
  479. sizeof                     EQU *                    ; size:   $46 (70)
  480.                         ENDR
  481. ; typedef struct FSSpec *                FSSpecPtr
  482.  
  483. ; typedef FSSpecPtr *                    FSSpecHandle
  484.  
  485. ;  pointer to array of FSSpecs 
  486. ;  
  487. ;    The only difference between "const FSSpec*" and "ConstFSSpecPtr" is 
  488. ;    that as a parameter, ConstFSSpecPtr is allowed to be NULL 
  489. ;
  490.  
  491. ; typedef const struct FSSpec *            ConstFSSpecPtr
  492.  
  493.  
  494. ;  
  495. ;    The following are structures to be filled out with the _PBGetVolMountInfo call
  496. ;    and passed back into the _PBVolumeMount call for external file system mounts. 
  497. ;
  498.  
  499. ;  the "signature" of the file system 
  500. ; typedef OSType                         VolumeType
  501.  
  502.  
  503.                                                             ; the signature for AppleShare 
  504. AppleShareMediaType                EQU        'afpm'
  505. ;    VolMount stuff was once in FSM.≈
  506. ;
  507.  
  508. VolMountInfoHeader        RECORD 0
  509. length                     ds.w    1                ; offset: $0 (0)        ;  length of location data (including self) 
  510. media                     ds.l    1                ; offset: $2 (2)        ;  type of media.  Variable length data follows 
  511. sizeof                     EQU *                    ; size:   $6 (6)
  512.                         ENDR
  513. ; typedef struct VolMountInfoHeader *    VolMountInfoPtr
  514.  
  515. ;  The new volume mount info record.  The old one is included for compatibility. 
  516. ;    the new record allows access by foriegn filesystems writers to the flags 
  517. ;    portion of the record. This portion is now public.  
  518. ;
  519.  
  520. VolumeMountInfoHeader    RECORD 0
  521. length                     ds.w    1                ; offset: $0 (0)        ;  length of location data (including self) 
  522. media                     ds.l    1                ; offset: $2 (2)        ;  type of media (must be registered with Apple) 
  523. flags                     ds.w    1                ; offset: $6 (6)        ;  volume mount flags. Variable length data follows 
  524. sizeof                     EQU *                    ; size:   $8 (8)
  525.                         ENDR
  526. ; typedef struct VolumeMountInfoHeader * VolumeMountInfoHeaderPtr
  527.  
  528. ;  volume mount flags 
  529.  
  530. volMountNoLoginMsgFlagBit        EQU        0                    ; Input to VolumeMount: If set, the file system 
  531. volMountNoLoginMsgFlagMask        EQU        $0001                ;  should suppresss any log-in message/greeting dialog 
  532. volMountExtendedFlagsBit        EQU        7                    ; Input to VolumeMount: If set, the mount info is a 
  533. volMountExtendedFlagsMask        EQU        $0080                ;  AFPXVolMountInfo record for 3.7 AppleShare Client 
  534. volMountInteractBit                EQU        15                    ; Input to VolumeMount: If set, it's OK for the file system 
  535. volMountInteractMask            EQU        $8000                ;  to perform user interaction to mount the volume 
  536. volMountChangedBit                EQU        14                    ; Output from VoumeMount: If set, the volume was mounted, but 
  537. volMountChangedMask                EQU        $4000                ;  the volume mounting information record needs to be updated. 
  538. volMountFSReservedMask            EQU        $00FF                ; bits 0-7 are defined by each file system for its own use 
  539. volMountSysReservedMask            EQU        $FF00                ; bits 8-15 are reserved for Apple system use 
  540.  
  541.  
  542. AFPVolMountInfo            RECORD 0
  543. length                     ds.w    1                ; offset: $0 (0)        ;  length of location data (including self) 
  544. media                     ds.l    1                ; offset: $2 (2)        ;  type of media 
  545. flags                     ds.w    1                ; offset: $6 (6)        ;  bits for no messages, no reconnect 
  546. nbpInterval                 ds.b    1                ; offset: $8 (8)        ;  NBP Interval parameter (IM2, p.322) 
  547. nbpCount                 ds.b    1                ; offset: $9 (9)        ;  NBP Interval parameter (IM2, p.322) 
  548. uamType                     ds.w    1                ; offset: $A (10)        ;  User Authentication Method 
  549. zoneNameOffset             ds.w    1                ; offset: $C (12)        ;  short positive offset from start of struct to Zone Name 
  550. serverNameOffset         ds.w    1                ; offset: $E (14)        ;  offset to pascal Server Name string 
  551. volNameOffset             ds.w    1                ; offset: $10 (16)        ;  offset to pascal Volume Name string 
  552. userNameOffset             ds.w    1                ; offset: $12 (18)        ;  offset to pascal User Name string 
  553. userPasswordOffset         ds.w    1                ; offset: $14 (20)        ;  offset to pascal User Password string 
  554. volPasswordOffset         ds.w    1                ; offset: $16 (22)        ;  offset to pascal Volume Password string 
  555. AFPData                     ds.b    144                ; offset: $18 (24)        ;  variable length data may follow 
  556. sizeof                     EQU *                    ; size:   $A8 (168)
  557.                         ENDR
  558. ; typedef struct AFPVolMountInfo *        AFPVolMountInfoPtr
  559.  
  560.  
  561.  
  562. ;  AFPXVolMountInfo is the new AFP volume mount info record, requires the 3.7 AppleShare Client 
  563. AFPXVolMountInfo        RECORD 0
  564. length                     ds.w    1                ; offset: $0 (0)        ;  length of location data (including self) 
  565. media                     ds.l    1                ; offset: $2 (2)        ;  type of media 
  566. flags                     ds.w    1                ; offset: $6 (6)        ;  bits for no messages, no reconnect 
  567. nbpInterval                 ds.b    1                ; offset: $8 (8)        ;  NBP Interval parameter (IM2, p.322) 
  568. nbpCount                 ds.b    1                ; offset: $9 (9)        ;  NBP Interval parameter (IM2, p.322) 
  569. uamType                     ds.w    1                ; offset: $A (10)        ;  User Authentication Method type 
  570. zoneNameOffset             ds.w    1                ; offset: $C (12)        ;  short positive offset from start of struct to Zone Name 
  571. serverNameOffset         ds.w    1                ; offset: $E (14)        ;  offset to pascal Server Name string 
  572. volNameOffset             ds.w    1                ; offset: $10 (16)        ;  offset to pascal Volume Name string 
  573. userNameOffset             ds.w    1                ; offset: $12 (18)        ;  offset to pascal User Name string 
  574. userPasswordOffset         ds.w    1                ; offset: $14 (20)        ;  offset to pascal User Password string 
  575. volPasswordOffset         ds.w    1                ; offset: $16 (22)        ;  offset to pascal Volume Password string 
  576. extendedFlags             ds.w    1                ; offset: $18 (24)        ;  extended flags word 
  577. uamNameOffset             ds.w    1                ; offset: $1A (26)        ;  offset to a pascal UAM name string 
  578. alternateAddressOffset     ds.w    1                ; offset: $1C (28)        ;  offset to Alternate Addresses in tagged format 
  579. AFPData                     ds.b    176                ; offset: $1E (30)        ;  variable length data may follow 
  580. sizeof                     EQU *                    ; size:   $CE (206)
  581.                         ENDR
  582. ; typedef struct AFPXVolMountInfo *        AFPXVolMountInfoPtr
  583.  
  584.  
  585. kAFPExtendedFlagsAlternateAddressMask EQU 1                    ;  bit in AFPXVolMountInfo.extendedFlags that means alternateAddressOffset is used
  586.  
  587.  
  588.                                                             ; constants for use in AFPTagData.fType field
  589. kAFPTagTypeIP                    EQU        $01
  590. kAFPTagTypeIPPort                EQU        $02
  591. kAFPTagTypeDDP                    EQU        $03                    ; Currently unused
  592.  
  593.  
  594.                                                             ; constants for use in AFPTagData.fLength field
  595. kAFPTagLengthIP                    EQU        $06
  596. kAFPTagLengthIPPort                EQU        $08
  597. kAFPTagLengthDDP                EQU        $06
  598. AFPTagData                RECORD 0
  599. fLength                     ds.b    1                ; offset: $0 (0)        ;  length of this data tag including the fLength field 
  600. fType                     ds.b    1                ; offset: $1 (1)
  601. fData                     ds.b    1                ; offset: $2 (2) <-- really an array of length one ;  variable length data 
  602.                          ORG 4
  603. sizeof                     EQU *                    ; size:   $4 (4)
  604.                         ENDR
  605. AFPAlternateAddress        RECORD 0
  606. fAddressCount             ds.b    1                ; offset: $0 (0)
  607. fAddressList             ds.b    1                ; offset: $1 (1) <-- really an array of length one ;  actually variable length packed set of AFPTagData 
  608. sizeof                     EQU *                    ; size:   $2 (2)
  609.                         ENDR
  610.  
  611.  
  612. DTPBRec                    RECORD 0
  613. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  614. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  615. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  616. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  617. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  618. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  619. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  620. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  621. ioDTRefNum                 ds.w    1                ; offset: $18 (24)        ;  desktop refnum 
  622. ioIndex                     ds.w    1                ; offset: $1A (26)
  623. ioTagInfo                 ds.l    1                ; offset: $1C (28)
  624. ioDTBuffer                 ds.l    1                ; offset: $20 (32)
  625. ioDTReqCount             ds.l    1                ; offset: $24 (36)
  626. ioDTActCount             ds.l    1                ; offset: $28 (40)
  627. ioFiller1                 ds.b    1                ; offset: $2C (44)
  628. ioIconType                 ds.b    1                ; offset: $2D (45)
  629. ioFiller2                 ds.w    1                ; offset: $2E (46)
  630. ioDirID                     ds.l    1                ; offset: $30 (48)
  631. ioFileCreator             ds.l    1                ; offset: $34 (52)
  632. ioFileType                 ds.l    1                ; offset: $38 (56)
  633. ioFiller3                 ds.l    1                ; offset: $3C (60)
  634. ioDTLgLen                 ds.l    1                ; offset: $40 (64)
  635. ioDTPyLen                 ds.l    1                ; offset: $44 (68)
  636. ioFiller4                 ds.w    14                ; offset: $48 (72)
  637. ioAPPLParID                 ds.l    1                ; offset: $64 (100)
  638. sizeof                     EQU *                    ; size:   $68 (104)
  639.                         ENDR
  640. ; typedef struct DTPBRec *                DTPBPtr
  641.  
  642. HIOParam                RECORD 0
  643. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  644. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  645. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  646. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  647. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  648. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  649. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  650. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  651. ioRefNum                 ds.w    1                ; offset: $18 (24)
  652. ioVersNum                 ds.b    1                ; offset: $1A (26)
  653. ioPermssn                 ds.b    1                ; offset: $1B (27)
  654. ioMisc                     ds.l    1                ; offset: $1C (28)
  655. ioBuffer                 ds.l    1                ; offset: $20 (32)
  656. ioReqCount                 ds.l    1                ; offset: $24 (36)
  657. ioActCount                 ds.l    1                ; offset: $28 (40)
  658. ioPosMode                 ds.w    1                ; offset: $2C (44)
  659. ioPosOffset                 ds.l    1                ; offset: $2E (46)
  660. sizeof                     EQU *                    ; size:   $32 (50)
  661.                         ENDR
  662. ; typedef struct HIOParam *                HIOParamPtr
  663.  
  664. HFileParam                RECORD 0
  665. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  666. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  667. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  668. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  669. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  670. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  671. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  672. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  673. ioFRefNum                 ds.w    1                ; offset: $18 (24)
  674. ioFVersNum                 ds.b    1                ; offset: $1A (26)
  675. filler1                     ds.b    1                ; offset: $1B (27)
  676. ioFDirIndex                 ds.w    1                ; offset: $1C (28)
  677. ioFlAttrib                 ds.b    1                ; offset: $1E (30)
  678. ioFlVersNum                 ds.b    1                ; offset: $1F (31)
  679. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)
  680. ioDirID                     ds.l    1                ; offset: $30 (48)
  681. ioFlStBlk                 ds.w    1                ; offset: $34 (52)
  682. ioFlLgLen                 ds.l    1                ; offset: $36 (54)
  683. ioFlPyLen                 ds.l    1                ; offset: $3A (58)
  684. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)
  685. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)
  686. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)
  687. ioFlCrDat                 ds.l    1                ; offset: $48 (72)
  688. ioFlMdDat                 ds.l    1                ; offset: $4C (76)
  689. sizeof                     EQU *                    ; size:   $50 (80)
  690.                         ENDR
  691. ; typedef struct HFileParam *            HFileParamPtr
  692.  
  693. HVolumeParam            RECORD 0
  694. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  695. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  696. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  697. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  698. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  699. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  700. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  701. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  702. filler2                     ds.l    1                ; offset: $18 (24)
  703. ioVolIndex                 ds.w    1                ; offset: $1C (28)
  704. ioVCrDate                 ds.l    1                ; offset: $1E (30)
  705. ioVLsMod                 ds.l    1                ; offset: $22 (34)
  706. ioVAtrb                     ds.w    1                ; offset: $26 (38)
  707. ioVNmFls                 ds.w    1                ; offset: $28 (40)
  708. ioVBitMap                 ds.w    1                ; offset: $2A (42)
  709. ioAllocPtr                 ds.w    1                ; offset: $2C (44)
  710. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)
  711. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)
  712. ioVClpSiz                 ds.l    1                ; offset: $34 (52)
  713. ioAlBlSt                 ds.w    1                ; offset: $38 (56)
  714. ioVNxtCNID                 ds.l    1                ; offset: $3A (58)
  715. ioVFrBlk                 ds.w    1                ; offset: $3E (62)
  716. ioVSigWord                 ds.w    1                ; offset: $40 (64)
  717. ioVDrvInfo                 ds.w    1                ; offset: $42 (66)
  718. ioVDRefNum                 ds.w    1                ; offset: $44 (68)
  719. ioVFSID                     ds.w    1                ; offset: $46 (70)
  720. ioVBkUp                     ds.l    1                ; offset: $48 (72)
  721. ioVSeqNum                 ds.w    1                ; offset: $4C (76)
  722. ioVWrCnt                 ds.l    1                ; offset: $4E (78)
  723. ioVFilCnt                 ds.l    1                ; offset: $52 (82)
  724. ioVDirCnt                 ds.l    1                ; offset: $56 (86)
  725. ioVFndrInfo                 ds.l    8                ; offset: $5A (90)
  726. sizeof                     EQU *                    ; size:   $7A (122)
  727.                         ENDR
  728. ; typedef struct HVolumeParam *            HVolumeParamPtr
  729.  
  730.  
  731.                                                             ; Large Volume Constants 
  732. kWidePosOffsetBit                EQU        8
  733. kUseWidePositioning                EQU        $0100
  734. kMaximumBlocksIn4GB                EQU        $007FFFFF
  735. XIOParam                RECORD 0
  736. qLink                     ds.l    1                ; offset: $0 (0)
  737. qType                     ds.w    1                ; offset: $4 (4)
  738. ioTrap                     ds.w    1                ; offset: $6 (6)
  739. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  740. ioCompletion             ds.l    1                ; offset: $C (12)
  741. ioResult                 ds.w    1                ; offset: $10 (16)
  742. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  743. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  744. ioRefNum                 ds.w    1                ; offset: $18 (24)
  745. ioVersNum                 ds.b    1                ; offset: $1A (26)
  746. ioPermssn                 ds.b    1                ; offset: $1B (27)
  747. ioMisc                     ds.l    1                ; offset: $1C (28)
  748. ioBuffer                 ds.l    1                ; offset: $20 (32)
  749. ioReqCount                 ds.l    1                ; offset: $24 (36)
  750. ioActCount                 ds.l    1                ; offset: $28 (40)
  751. ioPosMode                 ds.w    1                ; offset: $2C (44)        ;  must have kUseWidePositioning bit set 
  752. ioWPosOffset             ds        wide            ; offset: $2E (46)        ;  wide positioning offset 
  753. sizeof                     EQU *                    ; size:   $36 (54)
  754.                         ENDR
  755. ; typedef struct XIOParam *                XIOParamPtr
  756.  
  757. XVolumeParam            RECORD 0
  758. qLink                     ds.l    1                ; offset: $0 (0)
  759. qType                     ds.w    1                ; offset: $4 (4)
  760. ioTrap                     ds.w    1                ; offset: $6 (6)
  761. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  762. ioCompletion             ds.l    1                ; offset: $C (12)
  763. ioResult                 ds.w    1                ; offset: $10 (16)
  764. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  765. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  766. ioXVersion                 ds.l    1                ; offset: $18 (24)        ;  this XVolumeParam version (0) 
  767. ioVolIndex                 ds.w    1                ; offset: $1C (28)
  768. ioVCrDate                 ds.l    1                ; offset: $1E (30)
  769. ioVLsMod                 ds.l    1                ; offset: $22 (34)
  770. ioVAtrb                     ds.w    1                ; offset: $26 (38)
  771. ioVNmFls                 ds.w    1                ; offset: $28 (40)
  772. ioVBitMap                 ds.w    1                ; offset: $2A (42)
  773. ioAllocPtr                 ds.w    1                ; offset: $2C (44)
  774. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)
  775. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)
  776. ioVClpSiz                 ds.l    1                ; offset: $34 (52)
  777. ioAlBlSt                 ds.w    1                ; offset: $38 (56)
  778. ioVNxtCNID                 ds.l    1                ; offset: $3A (58)
  779. ioVFrBlk                 ds.w    1                ; offset: $3E (62)
  780. ioVSigWord                 ds.w    1                ; offset: $40 (64)
  781. ioVDrvInfo                 ds.w    1                ; offset: $42 (66)
  782. ioVDRefNum                 ds.w    1                ; offset: $44 (68)
  783. ioVFSID                     ds.w    1                ; offset: $46 (70)
  784. ioVBkUp                     ds.l    1                ; offset: $48 (72)
  785. ioVSeqNum                 ds.w    1                ; offset: $4C (76)
  786. ioVWrCnt                 ds.l    1                ; offset: $4E (78)
  787. ioVFilCnt                 ds.l    1                ; offset: $52 (82)
  788. ioVDirCnt                 ds.l    1                ; offset: $56 (86)
  789. ioVFndrInfo                 ds.l    8                ; offset: $5A (90)
  790. ioVTotalBytes             ds        UnsignedWide    ; offset: $7A (122)        ;  total number of bytes on volume 
  791. ioVFreeBytes             ds        UnsignedWide    ; offset: $82 (130)        ;  number of free bytes on volume 
  792. sizeof                     EQU *                    ; size:   $8A (138)
  793.                         ENDR
  794. ; typedef struct XVolumeParam *            XVolumeParamPtr
  795.  
  796. AccessParam                RECORD 0
  797. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  798. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  799. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  800. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  801. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  802. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  803. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  804. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  805. filler3                     ds.w    1                ; offset: $18 (24)
  806. ioDenyModes                 ds.w    1                ; offset: $1A (26)        ; access rights data
  807. filler4                     ds.w    1                ; offset: $1C (28)
  808. filler5                     ds.b    1                ; offset: $1E (30)
  809. ioACUser                 ds.b    1                ; offset: $1F (31)        ; access rights for directory only
  810. filler6                     ds.l    1                ; offset: $20 (32)
  811. ioACOwnerID                 ds.l    1                ; offset: $24 (36)        ; owner ID
  812. ioACGroupID                 ds.l    1                ; offset: $28 (40)        ; group ID
  813. ioACAccess                 ds.l    1                ; offset: $2C (44)        ; access rights
  814. ioDirID                     ds.l    1                ; offset: $30 (48)
  815. sizeof                     EQU *                    ; size:   $34 (52)
  816.                         ENDR
  817. ; typedef struct AccessParam *            AccessParamPtr
  818.  
  819. ObjParam                RECORD 0
  820. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  821. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  822. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  823. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  824. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  825. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  826. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  827. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  828. filler7                     ds.w    1                ; offset: $18 (24)
  829. ioObjType                 ds.w    1                ; offset: $1A (26)        ; function code
  830. ioObjNamePtr             ds.l    1                ; offset: $1C (28)        ; ptr to returned creator/group name
  831. ioObjID                     ds.l    1                ; offset: $20 (32)        ; creator/group ID
  832. sizeof                     EQU *                    ; size:   $24 (36)
  833.                         ENDR
  834. ; typedef struct ObjParam *                ObjParamPtr
  835.  
  836. CopyParam                RECORD 0
  837. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  838. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  839. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  840. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  841. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  842. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  843. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  844. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  845. ioDstVRefNum             ds.w    1                ; offset: $18 (24)        ; destination vol identifier
  846. filler8                     ds.w    1                ; offset: $1A (26)
  847. ioNewName                 ds.l    1                ; offset: $1C (28)        ; ptr to destination pathname
  848. ioCopyName                 ds.l    1                ; offset: $20 (32)        ; ptr to optional name
  849. ioNewDirID                 ds.l    1                ; offset: $24 (36)        ; destination directory ID
  850. filler14                 ds.l    1                ; offset: $28 (40)
  851. filler15                 ds.l    1                ; offset: $2C (44)
  852. ioDirID                     ds.l    1                ; offset: $30 (48)
  853. sizeof                     EQU *                    ; size:   $34 (52)
  854.                         ENDR
  855. ; typedef struct CopyParam *            CopyParamPtr
  856.  
  857. WDParam                    RECORD 0
  858. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  859. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  860. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  861. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  862. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  863. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  864. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  865. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  866. filler9                     ds.w    1                ; offset: $18 (24)
  867. ioWDIndex                 ds.w    1                ; offset: $1A (26)
  868. ioWDProcID                 ds.l    1                ; offset: $1C (28)
  869. ioWDVRefNum                 ds.w    1                ; offset: $20 (32)
  870. filler10                 ds.w    1                ; offset: $22 (34)
  871. filler11                 ds.l    1                ; offset: $24 (36)
  872. filler12                 ds.l    1                ; offset: $28 (40)
  873. filler13                 ds.l    1                ; offset: $2C (44)
  874. ioWDDirID                 ds.l    1                ; offset: $30 (48)
  875. sizeof                     EQU *                    ; size:   $34 (52)
  876.                         ENDR
  877. ; typedef struct WDParam *                WDParamPtr
  878.  
  879. FIDParam                RECORD 0
  880. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  881. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  882. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  883. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  884. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  885. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  886. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  887. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  888. filler14                 ds.l    1                ; offset: $18 (24)
  889. ioDestNamePtr             ds.l    1                ; offset: $1C (28)        ;  dest file name 
  890. filler15                 ds.l    1                ; offset: $20 (32)
  891. ioDestDirID                 ds.l    1                ; offset: $24 (36)        ;  dest file's directory id 
  892. filler16                 ds.l    1                ; offset: $28 (40)
  893. filler17                 ds.l    1                ; offset: $2C (44)
  894. ioSrcDirID                 ds.l    1                ; offset: $30 (48)        ;  source file's directory id 
  895. filler18                 ds.w    1                ; offset: $34 (52)
  896. ioFileID                 ds.l    1                ; offset: $36 (54)        ;  file ID 
  897. sizeof                     EQU *                    ; size:   $3A (58)
  898.                         ENDR
  899. ; typedef struct FIDParam *                FIDParamPtr
  900.  
  901. ForeignPrivParam        RECORD 0
  902. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  903. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  904. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  905. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  906. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  907. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  908. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  909. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  910. ioFiller21                 ds.l    1                ; offset: $18 (24)
  911. ioFiller22                 ds.l    1                ; offset: $1C (28)
  912. ioForeignPrivBuffer         ds.l    1                ; offset: $20 (32)
  913. ioForeignPrivActCount     ds.l    1                ; offset: $24 (36)
  914. ioForeignPrivReqCount     ds.l    1                ; offset: $28 (40)
  915. ioFiller23                 ds.l    1                ; offset: $2C (44)
  916. ioForeignPrivDirID         ds.l    1                ; offset: $30 (48)
  917. ioForeignPrivInfo1         ds.l    1                ; offset: $34 (52)
  918. ioForeignPrivInfo2         ds.l    1                ; offset: $38 (56)
  919. ioForeignPrivInfo3         ds.l    1                ; offset: $3C (60)
  920. ioForeignPrivInfo4         ds.l    1                ; offset: $40 (64)
  921. sizeof                     EQU *                    ; size:   $44 (68)
  922.                         ENDR
  923. ; typedef struct ForeignPrivParam *        ForeignPrivParamPtr
  924.  
  925. CSParam                    RECORD 0
  926. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  927. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  928. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  929. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  930. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  931. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  932. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  933. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  934. ioMatchPtr                 ds.l    1                ; offset: $18 (24)        ;  match array 
  935. ioReqMatchCount             ds.l    1                ; offset: $1C (28)        ;  maximum allowable matches 
  936. ioActMatchCount             ds.l    1                ; offset: $20 (32)        ;  actual match count 
  937. ioSearchBits             ds.l    1                ; offset: $24 (36)        ;  search criteria selector 
  938. ioSearchInfo1             ds.l    1                ; offset: $28 (40)        ;  search values and range lower bounds 
  939. ioSearchInfo2             ds.l    1                ; offset: $2C (44)        ;  search values and range upper bounds 
  940. ioSearchTime             ds.l    1                ; offset: $30 (48)        ;  length of time to run search 
  941. ioCatPosition             ds        CatPositionRec ; offset: $34 (52)        ;  current position in the catalog 
  942. ioOptBuffer                 ds.l    1                ; offset: $44 (68)        ;  optional performance enhancement buffer 
  943. ioOptBufSize             ds.l    1                ; offset: $48 (72)        ;  size of buffer pointed to by ioOptBuffer 
  944. sizeof                     EQU *                    ; size:   $4C (76)
  945.                         ENDR
  946. ; typedef struct CSParam *                CSParamPtr
  947.  
  948.  
  949.  
  950. HParamBlockRec            RECORD 0
  951. qLink                     ds.l    1                ; offset: $0 (0)        ; queue link in header
  952. qType                     ds.w    1                ; offset: $4 (4)        ; type byte for safety check
  953. ioTrap                     ds.w    1                ; offset: $6 (6)        ; FS: the Trap
  954. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; FS: address to dispatch to
  955. ioCompletion             ds.l    1                ; offset: $C (12)        ; completion routine addr (0 for synch calls)
  956. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  957. ioNamePtr                 ds.l    1                ; offset: $12 (18)        ; ptr to Vol:FileName string
  958. ioVRefNum                 ds.w    1                ; offset: $16 (22)        ; volume refnum (DrvNum for Eject and MountVol)
  959. ioRefNum                 ds.w    1                ; offset: $18 (24)
  960. ioVersNum                 ds.b    1                ; offset: $1A (26)
  961. ioPermssn                 ds.b    1                ; offset: $1B (27)
  962. ioMisc                     ds.l    1                ; offset: $1C (28)
  963. ioBuffer                 ds.l    1                ; offset: $20 (32)
  964. ioReqCount                 ds.l    1                ; offset: $24 (36)
  965. ioActCount                 ds.l    1                ; offset: $28 (40)
  966. ioPosMode                 ds.w    1                ; offset: $2C (44)
  967. ioPosOffset                 ds.l    1                ; offset: $2E (46)
  968.                          ORG 24
  969. ioFRefNum                 ds.w    1                ; offset: $18 (24)
  970. ioFVersNum                 ds.b    1                ; offset: $1A (26)
  971. filler1                     ds.b    1                ; offset: $1B (27)
  972. ioFDirIndex                 ds.w    1                ; offset: $1C (28)
  973. ioFlAttrib                 ds.b    1                ; offset: $1E (30)
  974. ioFlVersNum                 ds.b    1                ; offset: $1F (31)
  975. ioFlFndrInfo             ds        FInfo            ; offset: $20 (32)
  976. ioDirID                     ds.l    1                ; offset: $30 (48)
  977. ioFlStBlk                 ds.w    1                ; offset: $34 (52)
  978. ioFlLgLen                 ds.l    1                ; offset: $36 (54)
  979. ioFlPyLen                 ds.l    1                ; offset: $3A (58)
  980. ioFlRStBlk                 ds.w    1                ; offset: $3E (62)
  981. ioFlRLgLen                 ds.l    1                ; offset: $40 (64)
  982. ioFlRPyLen                 ds.l    1                ; offset: $44 (68)
  983. ioFlCrDat                 ds.l    1                ; offset: $48 (72)
  984. ioFlMdDat                 ds.l    1                ; offset: $4C (76)
  985.                          ORG 24
  986. filler2                     ds.l    1                ; offset: $18 (24)
  987. ioVolIndex                 ds.w    1                ; offset: $1C (28)
  988. ioVCrDate                 ds.l    1                ; offset: $1E (30)
  989. ioVLsMod                 ds.l    1                ; offset: $22 (34)
  990. ioVAtrb                     ds.w    1                ; offset: $26 (38)
  991. ioVNmFls                 ds.w    1                ; offset: $28 (40)
  992. ioVBitMap                 ds.w    1                ; offset: $2A (42)
  993. ioAllocPtr                 ds.w    1                ; offset: $2C (44)
  994. ioVNmAlBlks                 ds.w    1                ; offset: $2E (46)
  995. ioVAlBlkSiz                 ds.l    1                ; offset: $30 (48)
  996. ioVClpSiz                 ds.l    1                ; offset: $34 (52)
  997. ioAlBlSt                 ds.w    1                ; offset: $38 (56)
  998. ioVNxtCNID                 ds.l    1                ; offset: $3A (58)
  999. ioVFrBlk                 ds.w    1                ; offset: $3E (62)
  1000. ioVSigWord                 ds.w    1                ; offset: $40 (64)
  1001. ioVDrvInfo                 ds.w    1                ; offset: $42 (66)
  1002. ioVDRefNum                 ds.w    1                ; offset: $44 (68)
  1003. ioVFSID                     ds.w    1                ; offset: $46 (70)
  1004. ioVBkUp                     ds.l    1                ; offset: $48 (72)
  1005. ioVSeqNum                 ds.w    1                ; offset: $4C (76)
  1006. ioVWrCnt                 ds.l    1                ; offset: $4E (78)
  1007. ioVFilCnt                 ds.l    1                ; offset: $52 (82)
  1008. ioVDirCnt                 ds.l    1                ; offset: $56 (86)
  1009. ioVFndrInfo                 ds.l    8                ; offset: $5A (90)
  1010.                          ORG 24
  1011. filler3                     ds.w    1                ; offset: $18 (24)
  1012. ioDenyModes                 ds.w    1                ; offset: $1A (26)        ; access rights data
  1013. filler4                     ds.w    1                ; offset: $1C (28)
  1014. filler5                     ds.b    1                ; offset: $1E (30)
  1015. ioACUser                 ds.b    1                ; offset: $1F (31)        ; access rights for directory only
  1016. filler6                     ds.l    1                ; offset: $20 (32)
  1017. ioACOwnerID                 ds.l    1                ; offset: $24 (36)        ; owner ID
  1018. ioACGroupID                 ds.l    1                ; offset: $28 (40)        ; group ID
  1019. ioACAccess                 ds.l    1                ; offset: $2C (44)        ; access rights
  1020.                          ORG 24
  1021. filler7                     ds.w    1                ; offset: $18 (24)
  1022. ioObjType                 ds.w    1                ; offset: $1A (26)        ; function code
  1023. ioObjNamePtr             ds.l    1                ; offset: $1C (28)        ; ptr to returned creator/group name
  1024. ioObjID                     ds.l    1                ; offset: $20 (32)        ; creator/group ID
  1025.                          ORG 24
  1026. ioDstVRefNum             ds.w    1                ; offset: $18 (24)        ; destination vol identifier
  1027. filler8                     ds.w    1                ; offset: $1A (26)
  1028. ioNewName                 ds.l    1                ; offset: $1C (28)        ; ptr to destination pathname
  1029. ioCopyName                 ds.l    1                ; offset: $20 (32)        ; ptr to optional name
  1030. ioNewDirID                 ds.l    1                ; offset: $24 (36)        ; destination directory ID
  1031.                          ORG 24
  1032. filler9                     ds.w    1                ; offset: $18 (24)
  1033. ioWDIndex                 ds.w    1                ; offset: $1A (26)
  1034. ioWDProcID                 ds.l    1                ; offset: $1C (28)
  1035. ioWDVRefNum                 ds.w    1                ; offset: $20 (32)
  1036. filler10                 ds.w    1                ; offset: $22 (34)
  1037. filler11                 ds.l    1                ; offset: $24 (36)
  1038. filler12                 ds.l    1                ; offset: $28 (40)
  1039. filler13                 ds.l    1                ; offset: $2C (44)
  1040. ioWDDirID                 ds.l    1                ; offset: $30 (48)
  1041.                          ORG 24
  1042. filler14                 ds.l    1                ; offset: $18 (24)
  1043. ioDestNamePtr             ds.l    1                ; offset: $1C (28)        ;  dest file name 
  1044. filler15                 ds.l    1                ; offset: $20 (32)
  1045. ioDestDirID                 ds.l    1                ; offset: $24 (36)        ;  dest file's directory id 
  1046. filler16                 ds.l    1                ; offset: $28 (40)
  1047. filler17                 ds.l    1                ; offset: $2C (44)
  1048. ioSrcDirID                 ds.l    1                ; offset: $30 (48)        ;  source file's directory id 
  1049. filler18                 ds.w    1                ; offset: $34 (52)
  1050. ioFileID                 ds.l    1                ; offset: $36 (54)        ;  file ID 
  1051.                          ORG 24
  1052. ioMatchPtr                 ds.l    1                ; offset: $18 (24)        ;  match array 
  1053. ioReqMatchCount             ds.l    1                ; offset: $1C (28)        ;  maximum allowable matches 
  1054. ioActMatchCount             ds.l    1                ; offset: $20 (32)        ;  actual match count 
  1055. ioSearchBits             ds.l    1                ; offset: $24 (36)        ;  search criteria selector 
  1056. ioSearchInfo1             ds.l    1                ; offset: $28 (40)        ;  search values and range lower bounds 
  1057. ioSearchInfo2             ds.l    1                ; offset: $2C (44)        ;  search values and range upper bounds 
  1058. ioSearchTime             ds.l    1                ; offset: $30 (48)        ;  length of time to run search 
  1059. ioCatPosition             ds        CatPositionRec ; offset: $34 (52)        ;  current position in the catalog 
  1060. ioOptBuffer                 ds.l    1                ; offset: $44 (68)        ;  optional performance enhancement buffer 
  1061. ioOptBufSize             ds.l    1                ; offset: $48 (72)        ;  size of buffer pointed to by ioOptBuffer 
  1062.                          ORG 24
  1063. ioFiller21                 ds.l    1                ; offset: $18 (24)
  1064. ioFiller22                 ds.l    1                ; offset: $1C (28)
  1065. ioForeignPrivBuffer         ds.l    1                ; offset: $20 (32)
  1066. ioForeignPrivActCount     ds.l    1                ; offset: $24 (36)
  1067. ioForeignPrivReqCount     ds.l    1                ; offset: $28 (40)
  1068. ioFiller23                 ds.l    1                ; offset: $2C (44)
  1069. ioForeignPrivDirID         ds.l    1                ; offset: $30 (48)
  1070. ioForeignPrivInfo1         ds.l    1                ; offset: $34 (52)
  1071. ioForeignPrivInfo2         ds.l    1                ; offset: $38 (56)
  1072. ioForeignPrivInfo3         ds.l    1                ; offset: $3C (60)
  1073. ioForeignPrivInfo4         ds.l    1                ; offset: $40 (64)
  1074.                          ORG 122
  1075. sizeof                     EQU *                    ; size:   $7A (122)
  1076.                         ENDR
  1077. ; typedef union HParamBlockRec *        HParmBlkPtr
  1078.  
  1079.  
  1080. CMovePBRec                RECORD 0
  1081. qLink                     ds.l    1                ; offset: $0 (0)
  1082. qType                     ds.w    1                ; offset: $4 (4)
  1083. ioTrap                     ds.w    1                ; offset: $6 (6)
  1084. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  1085. ioCompletion             ds.l    1                ; offset: $C (12)
  1086. ioResult                 ds.w    1                ; offset: $10 (16)
  1087. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  1088. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  1089. filler1                     ds.l    1                ; offset: $18 (24)
  1090. ioNewName                 ds.l    1                ; offset: $1C (28)
  1091. filler2                     ds.l    1                ; offset: $20 (32)
  1092. ioNewDirID                 ds.l    1                ; offset: $24 (36)
  1093. filler3                     ds.l    2                ; offset: $28 (40)
  1094. ioDirID                     ds.l    1                ; offset: $30 (48)
  1095. sizeof                     EQU *                    ; size:   $34 (52)
  1096.                         ENDR
  1097. ; typedef struct CMovePBRec *            CMovePBPtr
  1098.  
  1099. WDPBRec                    RECORD 0
  1100. qLink                     ds.l    1                ; offset: $0 (0)
  1101. qType                     ds.w    1                ; offset: $4 (4)
  1102. ioTrap                     ds.w    1                ; offset: $6 (6)
  1103. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  1104. ioCompletion             ds.l    1                ; offset: $C (12)
  1105. ioResult                 ds.w    1                ; offset: $10 (16)
  1106. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  1107. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  1108. filler1                     ds.w    1                ; offset: $18 (24)
  1109. ioWDIndex                 ds.w    1                ; offset: $1A (26)
  1110. ioWDProcID                 ds.l    1                ; offset: $1C (28)
  1111. ioWDVRefNum                 ds.w    1                ; offset: $20 (32)
  1112. filler2                     ds.w    7                ; offset: $22 (34)
  1113. ioWDDirID                 ds.l    1                ; offset: $30 (48)
  1114. sizeof                     EQU *                    ; size:   $34 (52)
  1115.                         ENDR
  1116. ; typedef struct WDPBRec *                WDPBPtr
  1117.  
  1118. FCBPBRec                RECORD 0
  1119. qLink                     ds.l    1                ; offset: $0 (0)
  1120. qType                     ds.w    1                ; offset: $4 (4)
  1121. ioTrap                     ds.w    1                ; offset: $6 (6)
  1122. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  1123. ioCompletion             ds.l    1                ; offset: $C (12)
  1124. ioResult                 ds.w    1                ; offset: $10 (16)
  1125. ioNamePtr                 ds.l    1                ; offset: $12 (18)
  1126. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  1127. ioRefNum                 ds.w    1                ; offset: $18 (24)
  1128. filler                     ds.w    1                ; offset: $1A (26)
  1129. ioFCBIndx                 ds.w    1                ; offset: $1C (28)
  1130. filler1                     ds.w    1                ; offset: $1E (30)
  1131. ioFCBFlNm                 ds.l    1                ; offset: $20 (32)
  1132. ioFCBFlags                 ds.w    1                ; offset: $24 (36)
  1133. ioFCBStBlk                 ds.w    1                ; offset: $26 (38)
  1134. ioFCBEOF                 ds.l    1                ; offset: $28 (40)
  1135. ioFCBPLen                 ds.l    1                ; offset: $2C (44)
  1136. ioFCBCrPs                 ds.l    1                ; offset: $30 (48)
  1137. ioFCBVRefNum             ds.w    1                ; offset: $34 (52)
  1138. ioFCBClpSiz                 ds.l    1                ; offset: $36 (54)
  1139. ioFCBParID                 ds.l    1                ; offset: $3A (58)
  1140. sizeof                     EQU *                    ; size:   $3E (62)
  1141.                         ENDR
  1142. ; typedef struct FCBPBRec *                FCBPBPtr
  1143.  
  1144. VCB                        RECORD 0
  1145. qLink                     ds.l    1                ; offset: $0 (0)
  1146. qType                     ds.w    1                ; offset: $4 (4)
  1147. vcbFlags                 ds.w    1                ; offset: $6 (6)
  1148. vcbSigWord                 ds.w    1                ; offset: $8 (8)
  1149. vcbCrDate                 ds.l    1                ; offset: $A (10)
  1150. vcbLsMod                 ds.l    1                ; offset: $E (14)
  1151. vcbAtrb                     ds.w    1                ; offset: $12 (18)
  1152. vcbNmFls                 ds.w    1                ; offset: $14 (20)
  1153. vcbVBMSt                 ds.w    1                ; offset: $16 (22)
  1154. vcbAllocPtr                 ds.w    1                ; offset: $18 (24)
  1155. vcbNmAlBlks                 ds.w    1                ; offset: $1A (26)
  1156. vcbAlBlkSiz                 ds.l    1                ; offset: $1C (28)
  1157. vcbClpSiz                 ds.l    1                ; offset: $20 (32)
  1158. vcbAlBlSt                 ds.w    1                ; offset: $24 (36)
  1159. vcbNxtCNID                 ds.l    1                ; offset: $26 (38)
  1160. vcbFreeBks                 ds.w    1                ; offset: $2A (42)
  1161. vcbVN                     ds        Str27            ; offset: $2C (44)
  1162. vcbDrvNum                 ds.w    1                ; offset: $48 (72)
  1163. vcbDRefNum                 ds.w    1                ; offset: $4A (74)
  1164. vcbFSID                     ds.w    1                ; offset: $4C (76)
  1165. vcbVRefNum                 ds.w    1                ; offset: $4E (78)
  1166. vcbMAdr                     ds.l    1                ; offset: $50 (80)
  1167. vcbBufAdr                 ds.l    1                ; offset: $54 (84)
  1168. vcbMLen                     ds.w    1                ; offset: $58 (88)
  1169. vcbDirIndex                 ds.w    1                ; offset: $5A (90)
  1170. vcbDirBlk                 ds.w    1                ; offset: $5C (92)
  1171. vcbVolBkUp                 ds.l    1                ; offset: $5E (94)
  1172. vcbVSeqNum                 ds.w    1                ; offset: $62 (98)
  1173. vcbWrCnt                 ds.l    1                ; offset: $64 (100)
  1174. vcbXTClpSiz                 ds.l    1                ; offset: $68 (104)
  1175. vcbCTClpSiz                 ds.l    1                ; offset: $6C (108)
  1176. vcbNmRtDirs                 ds.w    1                ; offset: $70 (112)
  1177. vcbFilCnt                 ds.l    1                ; offset: $72 (114)
  1178. vcbDirCnt                 ds.l    1                ; offset: $76 (118)
  1179. vcbFndrInfo                 ds.l    8                ; offset: $7A (122)
  1180. vcbVCSize                 ds.w    1                ; offset: $9A (154)
  1181. vcbVBMCSiz                 ds.w    1                ; offset: $9C (156)
  1182. vcbCtlCSiz                 ds.w    1                ; offset: $9E (158)
  1183. vcbXTAlBlks                 ds.w    1                ; offset: $A0 (160)
  1184. vcbCTAlBlks                 ds.w    1                ; offset: $A2 (162)
  1185. vcbXTRef                 ds.w    1                ; offset: $A4 (164)
  1186. vcbCTRef                 ds.w    1                ; offset: $A6 (166)
  1187. vcbCtlBuf                 ds.l    1                ; offset: $A8 (168)
  1188. vcbDirIDM                 ds.l    1                ; offset: $AC (172)
  1189. vcbOffsM                 ds.w    1                ; offset: $B0 (176)
  1190. sizeof                     EQU *                    ; size:   $B2 (178)
  1191.                         ENDR
  1192. ; typedef struct VCB *                    VCBPtr
  1193.  
  1194. DrvQEl                    RECORD 0
  1195. qLink                     ds.l    1                ; offset: $0 (0)
  1196. qType                     ds.w    1                ; offset: $4 (4)
  1197. dQDrive                     ds.w    1                ; offset: $6 (6)
  1198. dQRefNum                 ds.w    1                ; offset: $8 (8)
  1199. dQFSID                     ds.w    1                ; offset: $A (10)
  1200. dQDrvSz                     ds.w    1                ; offset: $C (12)
  1201. dQDrvSz2                 ds.w    1                ; offset: $E (14)
  1202. sizeof                     EQU *                    ; size:   $10 (16)
  1203.                         ENDR
  1204. ; typedef struct DrvQEl *                DrvQElPtr
  1205.  
  1206.     IF OLDROUTINELOCATIONS THEN
  1207. ;
  1208. ; pascal OSErr PBOpenSync(ParmBlkPtr paramBlock)
  1209. ;
  1210.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1211.         ; parameters:
  1212.         ;    paramBlock      => A0
  1213.         ; returns:
  1214.         ;    OSErr           <= D0
  1215.         _PBOpenSync:    OPWORD    $A000
  1216.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1217.         IMPORT_CFM_FUNCTION PBOpenSync
  1218.     ENDIF
  1219.  
  1220. ;
  1221. ; pascal OSErr PBOpenAsync(ParmBlkPtr paramBlock)
  1222. ;
  1223.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1224.         ; parameters:
  1225.         ;    paramBlock      => A0
  1226.         ; returns:
  1227.         ;    OSErr           <= D0
  1228.         _PBOpenAsync:    OPWORD    $A400
  1229.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1230.         IMPORT_CFM_FUNCTION PBOpenAsync
  1231.     ENDIF
  1232.  
  1233. ;
  1234. ; pascal OSErr PBOpenImmed(ParmBlkPtr paramBlock)
  1235. ;
  1236.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1237.         ; parameters:
  1238.         ;    paramBlock      => A0
  1239.         ; returns:
  1240.         ;    OSErr           <= D0
  1241.         _PBOpenImmed:    OPWORD    $A200
  1242.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1243.         IMPORT_CFM_FUNCTION PBOpenImmed
  1244.     ENDIF
  1245.  
  1246. ;
  1247. ; pascal OSErr PBCloseSync(ParmBlkPtr paramBlock)
  1248. ;
  1249.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1250.         ; parameters:
  1251.         ;    paramBlock      => A0
  1252.         ; returns:
  1253.         ;    OSErr           <= D0
  1254.         _PBCloseSync:    OPWORD    $A001
  1255.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1256.         IMPORT_CFM_FUNCTION PBCloseSync
  1257.     ENDIF
  1258.  
  1259. ;
  1260. ; pascal OSErr PBCloseAsync(ParmBlkPtr paramBlock)
  1261. ;
  1262.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1263.         ; parameters:
  1264.         ;    paramBlock      => A0
  1265.         ; returns:
  1266.         ;    OSErr           <= D0
  1267.         _PBCloseAsync:    OPWORD    $A401
  1268.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1269.         IMPORT_CFM_FUNCTION PBCloseAsync
  1270.     ENDIF
  1271.  
  1272. ;
  1273. ; pascal OSErr PBCloseImmed(ParmBlkPtr paramBlock)
  1274. ;
  1275.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1276.         ; parameters:
  1277.         ;    paramBlock      => A0
  1278.         ; returns:
  1279.         ;    OSErr           <= D0
  1280.         _PBCloseImmed:    OPWORD    $A201
  1281.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1282.         IMPORT_CFM_FUNCTION PBCloseImmed
  1283.     ENDIF
  1284.  
  1285. ;
  1286. ; pascal OSErr PBReadSync(ParmBlkPtr paramBlock)
  1287. ;
  1288.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1289.         ; parameters:
  1290.         ;    paramBlock      => A0
  1291.         ; returns:
  1292.         ;    OSErr           <= D0
  1293.         _PBReadSync:    OPWORD    $A002
  1294.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1295.         IMPORT_CFM_FUNCTION PBReadSync
  1296.     ENDIF
  1297.  
  1298. ;
  1299. ; pascal OSErr PBReadAsync(ParmBlkPtr paramBlock)
  1300. ;
  1301.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1302.         ; parameters:
  1303.         ;    paramBlock      => A0
  1304.         ; returns:
  1305.         ;    OSErr           <= D0
  1306.         _PBReadAsync:    OPWORD    $A402
  1307.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1308.         IMPORT_CFM_FUNCTION PBReadAsync
  1309.     ENDIF
  1310.  
  1311. ;
  1312. ; pascal OSErr PBReadImmed(ParmBlkPtr paramBlock)
  1313. ;
  1314.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1315.         ; parameters:
  1316.         ;    paramBlock      => A0
  1317.         ; returns:
  1318.         ;    OSErr           <= D0
  1319.         _PBReadImmed:    OPWORD    $A202
  1320.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1321.         IMPORT_CFM_FUNCTION PBReadImmed
  1322.     ENDIF
  1323.  
  1324. ;
  1325. ; pascal OSErr PBWriteSync(ParmBlkPtr paramBlock)
  1326. ;
  1327.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1328.         ; parameters:
  1329.         ;    paramBlock      => A0
  1330.         ; returns:
  1331.         ;    OSErr           <= D0
  1332.         _PBWriteSync:    OPWORD    $A003
  1333.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1334.         IMPORT_CFM_FUNCTION PBWriteSync
  1335.     ENDIF
  1336.  
  1337. ;
  1338. ; pascal OSErr PBWriteAsync(ParmBlkPtr paramBlock)
  1339. ;
  1340.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1341.         ; parameters:
  1342.         ;    paramBlock      => A0
  1343.         ; returns:
  1344.         ;    OSErr           <= D0
  1345.         _PBWriteAsync:    OPWORD    $A403
  1346.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1347.         IMPORT_CFM_FUNCTION PBWriteAsync
  1348.     ENDIF
  1349.  
  1350. ;
  1351. ; pascal OSErr PBWriteImmed(ParmBlkPtr paramBlock)
  1352. ;
  1353.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1354.         ; parameters:
  1355.         ;    paramBlock      => A0
  1356.         ; returns:
  1357.         ;    OSErr           <= D0
  1358.         _PBWriteImmed:    OPWORD    $A203
  1359.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1360.         IMPORT_CFM_FUNCTION PBWriteImmed
  1361.     ENDIF
  1362.  
  1363.     ENDIF    ; OLDROUTINELOCATIONS
  1364. ;
  1365. ; pascal OSErr PBGetVInfoSync(ParmBlkPtr paramBlock)
  1366. ;
  1367.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1368.         ; parameters:
  1369.         ;    paramBlock      => A0
  1370.         ; returns:
  1371.         ;    OSErr           <= D0
  1372.         _PBGetVInfoSync:    OPWORD    $A007
  1373.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1374.         IMPORT_CFM_FUNCTION PBGetVInfoSync
  1375.     ENDIF
  1376.  
  1377. ;
  1378. ; pascal OSErr PBGetVInfoAsync(ParmBlkPtr paramBlock)
  1379. ;
  1380.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1381.         ; parameters:
  1382.         ;    paramBlock      => A0
  1383.         ; returns:
  1384.         ;    OSErr           <= D0
  1385.         _PBGetVInfoAsync:    OPWORD    $A407
  1386.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1387.         IMPORT_CFM_FUNCTION PBGetVInfoAsync
  1388.     ENDIF
  1389.  
  1390. ;
  1391. ; pascal OSErr PBXGetVolInfoSync(XVolumeParamPtr paramBlock)
  1392. ;
  1393.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1394.         ; parameters:
  1395.         ;    paramBlock      => A0
  1396.         ; returns:
  1397.         ;    OSErr           <= D0
  1398.         Macro
  1399.         _PBXGetVolInfoSync
  1400.             moveq               #18,D0
  1401.             dc.w                $A060
  1402.         EndM
  1403.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1404.         IMPORT_CFM_FUNCTION PBXGetVolInfoSync
  1405.     ENDIF
  1406.  
  1407. ;
  1408. ; pascal OSErr PBXGetVolInfoAsync(XVolumeParamPtr paramBlock)
  1409. ;
  1410.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1411.         ; parameters:
  1412.         ;    paramBlock      => A0
  1413.         ; returns:
  1414.         ;    OSErr           <= D0
  1415.         Macro
  1416.         _PBXGetVolInfoAsync
  1417.             moveq               #18,D0
  1418.             dc.w                $A460
  1419.         EndM
  1420.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1421.         IMPORT_CFM_FUNCTION PBXGetVolInfoAsync
  1422.     ENDIF
  1423.  
  1424. ;
  1425. ; pascal OSErr PBGetVolSync(ParmBlkPtr paramBlock)
  1426. ;
  1427.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1428.         ; parameters:
  1429.         ;    paramBlock      => A0
  1430.         ; returns:
  1431.         ;    OSErr           <= D0
  1432.         _PBGetVolSync:    OPWORD    $A014
  1433.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1434.         IMPORT_CFM_FUNCTION PBGetVolSync
  1435.     ENDIF
  1436.  
  1437. ;
  1438. ; pascal OSErr PBGetVolAsync(ParmBlkPtr paramBlock)
  1439. ;
  1440.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1441.         ; parameters:
  1442.         ;    paramBlock      => A0
  1443.         ; returns:
  1444.         ;    OSErr           <= D0
  1445.         _PBGetVolAsync:    OPWORD    $A414
  1446.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1447.         IMPORT_CFM_FUNCTION PBGetVolAsync
  1448.     ENDIF
  1449.  
  1450. ;
  1451. ; pascal OSErr PBSetVolSync(ParmBlkPtr paramBlock)
  1452. ;
  1453.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1454.         ; parameters:
  1455.         ;    paramBlock      => A0
  1456.         ; returns:
  1457.         ;    OSErr           <= D0
  1458.         _PBSetVolSync:    OPWORD    $A015
  1459.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1460.         IMPORT_CFM_FUNCTION PBSetVolSync
  1461.     ENDIF
  1462.  
  1463. ;
  1464. ; pascal OSErr PBSetVolAsync(ParmBlkPtr paramBlock)
  1465. ;
  1466.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1467.         ; parameters:
  1468.         ;    paramBlock      => A0
  1469.         ; returns:
  1470.         ;    OSErr           <= D0
  1471.         _PBSetVolAsync:    OPWORD    $A415
  1472.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1473.         IMPORT_CFM_FUNCTION PBSetVolAsync
  1474.     ENDIF
  1475.  
  1476. ;
  1477. ; pascal OSErr PBFlushVolSync(ParmBlkPtr paramBlock)
  1478. ;
  1479.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1480.         ; parameters:
  1481.         ;    paramBlock      => A0
  1482.         ; returns:
  1483.         ;    OSErr           <= D0
  1484.         _PBFlushVolSync:    OPWORD    $A013
  1485.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1486.         IMPORT_CFM_FUNCTION PBFlushVolSync
  1487.     ENDIF
  1488.  
  1489. ;
  1490. ; pascal OSErr PBFlushVolAsync(ParmBlkPtr paramBlock)
  1491. ;
  1492.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1493.         ; parameters:
  1494.         ;    paramBlock      => A0
  1495.         ; returns:
  1496.         ;    OSErr           <= D0
  1497.         _PBFlushVolAsync:    OPWORD    $A413
  1498.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1499.         IMPORT_CFM_FUNCTION PBFlushVolAsync
  1500.     ENDIF
  1501.  
  1502. ;
  1503. ; pascal OSErr PBHTrashVolumeCachesSync(ParmBlkPtr paramBlock)
  1504. ;
  1505.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1506.         ; parameters:
  1507.         ;    paramBlock      => A0
  1508.         ; returns:
  1509.         ;    OSErr           <= D0
  1510.         _PBHTrashVolumeCachesSync:    OPWORD    $A213
  1511.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1512.         IMPORT_CFM_FUNCTION PBHTrashVolumeCachesSync
  1513.     ENDIF
  1514.  
  1515. ;
  1516. ; pascal OSErr PBCreateSync(ParmBlkPtr paramBlock)
  1517. ;
  1518.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1519.         ; parameters:
  1520.         ;    paramBlock      => A0
  1521.         ; returns:
  1522.         ;    OSErr           <= D0
  1523.         _PBCreateSync:    OPWORD    $A008
  1524.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1525.         IMPORT_CFM_FUNCTION PBCreateSync
  1526.     ENDIF
  1527.  
  1528. ;
  1529. ; pascal OSErr PBCreateAsync(ParmBlkPtr paramBlock)
  1530. ;
  1531.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1532.         ; parameters:
  1533.         ;    paramBlock      => A0
  1534.         ; returns:
  1535.         ;    OSErr           <= D0
  1536.         _PBCreateAsync:    OPWORD    $A408
  1537.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1538.         IMPORT_CFM_FUNCTION PBCreateAsync
  1539.     ENDIF
  1540.  
  1541. ;
  1542. ; pascal OSErr PBDeleteSync(ParmBlkPtr paramBlock)
  1543. ;
  1544.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1545.         ; parameters:
  1546.         ;    paramBlock      => A0
  1547.         ; returns:
  1548.         ;    OSErr           <= D0
  1549.         _PBDeleteSync:    OPWORD    $A009
  1550.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1551.         IMPORT_CFM_FUNCTION PBDeleteSync
  1552.     ENDIF
  1553.  
  1554. ;
  1555. ; pascal OSErr PBDeleteAsync(ParmBlkPtr paramBlock)
  1556. ;
  1557.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1558.         ; parameters:
  1559.         ;    paramBlock      => A0
  1560.         ; returns:
  1561.         ;    OSErr           <= D0
  1562.         _PBDeleteAsync:    OPWORD    $A409
  1563.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1564.         IMPORT_CFM_FUNCTION PBDeleteAsync
  1565.     ENDIF
  1566.  
  1567. ;
  1568. ; pascal OSErr PBOpenDFSync(ParmBlkPtr paramBlock)
  1569. ;
  1570.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1571.         ; parameters:
  1572.         ;    paramBlock      => A0
  1573.         ; returns:
  1574.         ;    OSErr           <= D0
  1575.         Macro
  1576.         _PBOpenDFSync
  1577.             moveq               #26,D0
  1578.             dc.w                $A060
  1579.         EndM
  1580.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1581.         IMPORT_CFM_FUNCTION PBOpenDFSync
  1582.     ENDIF
  1583.  
  1584. ;
  1585. ; pascal OSErr PBOpenDFAsync(ParmBlkPtr paramBlock)
  1586. ;
  1587.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1588.         ; parameters:
  1589.         ;    paramBlock      => A0
  1590.         ; returns:
  1591.         ;    OSErr           <= D0
  1592.         Macro
  1593.         _PBOpenDFAsync
  1594.             moveq               #26,D0
  1595.             dc.w                $A460
  1596.         EndM
  1597.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1598.         IMPORT_CFM_FUNCTION PBOpenDFAsync
  1599.     ENDIF
  1600.  
  1601. ;
  1602. ; pascal OSErr PBOpenRFSync(ParmBlkPtr paramBlock)
  1603. ;
  1604.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1605.         ; parameters:
  1606.         ;    paramBlock      => A0
  1607.         ; returns:
  1608.         ;    OSErr           <= D0
  1609.         _PBOpenRFSync:    OPWORD    $A00A
  1610.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1611.         IMPORT_CFM_FUNCTION PBOpenRFSync
  1612.     ENDIF
  1613.  
  1614. ;
  1615. ; pascal OSErr PBOpenRFAsync(ParmBlkPtr paramBlock)
  1616. ;
  1617.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1618.         ; parameters:
  1619.         ;    paramBlock      => A0
  1620.         ; returns:
  1621.         ;    OSErr           <= D0
  1622.         _PBOpenRFAsync:    OPWORD    $A40A
  1623.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1624.         IMPORT_CFM_FUNCTION PBOpenRFAsync
  1625.     ENDIF
  1626.  
  1627. ;
  1628. ; pascal OSErr PBRenameSync(ParmBlkPtr paramBlock)
  1629. ;
  1630.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1631.         ; parameters:
  1632.         ;    paramBlock      => A0
  1633.         ; returns:
  1634.         ;    OSErr           <= D0
  1635.         _PBRenameSync:    OPWORD    $A00B
  1636.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1637.         IMPORT_CFM_FUNCTION PBRenameSync
  1638.     ENDIF
  1639.  
  1640. ;
  1641. ; pascal OSErr PBRenameAsync(ParmBlkPtr paramBlock)
  1642. ;
  1643.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1644.         ; parameters:
  1645.         ;    paramBlock      => A0
  1646.         ; returns:
  1647.         ;    OSErr           <= D0
  1648.         _PBRenameAsync:    OPWORD    $A40B
  1649.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1650.         IMPORT_CFM_FUNCTION PBRenameAsync
  1651.     ENDIF
  1652.  
  1653. ;
  1654. ; pascal OSErr PBGetFInfoSync(ParmBlkPtr paramBlock)
  1655. ;
  1656.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1657.         ; parameters:
  1658.         ;    paramBlock      => A0
  1659.         ; returns:
  1660.         ;    OSErr           <= D0
  1661.         _PBGetFInfoSync:    OPWORD    $A00C
  1662.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1663.         IMPORT_CFM_FUNCTION PBGetFInfoSync
  1664.     ENDIF
  1665.  
  1666. ;
  1667. ; pascal OSErr PBGetFInfoAsync(ParmBlkPtr paramBlock)
  1668. ;
  1669.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1670.         ; parameters:
  1671.         ;    paramBlock      => A0
  1672.         ; returns:
  1673.         ;    OSErr           <= D0
  1674.         _PBGetFInfoAsync:    OPWORD    $A40C
  1675.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1676.         IMPORT_CFM_FUNCTION PBGetFInfoAsync
  1677.     ENDIF
  1678.  
  1679. ;
  1680. ; pascal OSErr PBSetFInfoSync(ParmBlkPtr paramBlock)
  1681. ;
  1682.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1683.         ; parameters:
  1684.         ;    paramBlock      => A0
  1685.         ; returns:
  1686.         ;    OSErr           <= D0
  1687.         _PBSetFInfoSync:    OPWORD    $A00D
  1688.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1689.         IMPORT_CFM_FUNCTION PBSetFInfoSync
  1690.     ENDIF
  1691.  
  1692. ;
  1693. ; pascal OSErr PBSetFInfoAsync(ParmBlkPtr paramBlock)
  1694. ;
  1695.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1696.         ; parameters:
  1697.         ;    paramBlock      => A0
  1698.         ; returns:
  1699.         ;    OSErr           <= D0
  1700.         _PBSetFInfoAsync:    OPWORD    $A40D
  1701.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1702.         IMPORT_CFM_FUNCTION PBSetFInfoAsync
  1703.     ENDIF
  1704.  
  1705. ;
  1706. ; pascal OSErr PBSetFLockSync(ParmBlkPtr paramBlock)
  1707. ;
  1708.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1709.         ; parameters:
  1710.         ;    paramBlock      => A0
  1711.         ; returns:
  1712.         ;    OSErr           <= D0
  1713.         _PBSetFLockSync:    OPWORD    $A041
  1714.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1715.         IMPORT_CFM_FUNCTION PBSetFLockSync
  1716.     ENDIF
  1717.  
  1718. ;
  1719. ; pascal OSErr PBSetFLockAsync(ParmBlkPtr paramBlock)
  1720. ;
  1721.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1722.         ; parameters:
  1723.         ;    paramBlock      => A0
  1724.         ; returns:
  1725.         ;    OSErr           <= D0
  1726.         _PBSetFLockAsync:    OPWORD    $A441
  1727.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1728.         IMPORT_CFM_FUNCTION PBSetFLockAsync
  1729.     ENDIF
  1730.  
  1731. ;
  1732. ; pascal OSErr PBRstFLockSync(ParmBlkPtr paramBlock)
  1733. ;
  1734.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1735.         ; parameters:
  1736.         ;    paramBlock      => A0
  1737.         ; returns:
  1738.         ;    OSErr           <= D0
  1739.         _PBRstFLockSync:    OPWORD    $A042
  1740.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1741.         IMPORT_CFM_FUNCTION PBRstFLockSync
  1742.     ENDIF
  1743.  
  1744. ;
  1745. ; pascal OSErr PBRstFLockAsync(ParmBlkPtr paramBlock)
  1746. ;
  1747.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1748.         ; parameters:
  1749.         ;    paramBlock      => A0
  1750.         ; returns:
  1751.         ;    OSErr           <= D0
  1752.         _PBRstFLockAsync:    OPWORD    $A442
  1753.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1754.         IMPORT_CFM_FUNCTION PBRstFLockAsync
  1755.     ENDIF
  1756.  
  1757. ;
  1758. ; pascal OSErr PBSetFVersSync(ParmBlkPtr paramBlock)
  1759. ;
  1760.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1761.         ; parameters:
  1762.         ;    paramBlock      => A0
  1763.         ; returns:
  1764.         ;    OSErr           <= D0
  1765.         _PBSetFVersSync:    OPWORD    $A043
  1766.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1767.         IMPORT_CFM_FUNCTION PBSetFVersSync
  1768.     ENDIF
  1769.  
  1770. ;
  1771. ; pascal OSErr PBSetFVersAsync(ParmBlkPtr paramBlock)
  1772. ;
  1773.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1774.         ; parameters:
  1775.         ;    paramBlock      => A0
  1776.         ; returns:
  1777.         ;    OSErr           <= D0
  1778.         _PBSetFVersAsync:    OPWORD    $A443
  1779.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1780.         IMPORT_CFM_FUNCTION PBSetFVersAsync
  1781.     ENDIF
  1782.  
  1783. ;
  1784. ; pascal OSErr PBAllocateSync(ParmBlkPtr paramBlock)
  1785. ;
  1786.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1787.         ; parameters:
  1788.         ;    paramBlock      => A0
  1789.         ; returns:
  1790.         ;    OSErr           <= D0
  1791.         _PBAllocateSync:    OPWORD    $A010
  1792.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1793.         IMPORT_CFM_FUNCTION PBAllocateSync
  1794.     ENDIF
  1795.  
  1796. ;
  1797. ; pascal OSErr PBAllocateAsync(ParmBlkPtr paramBlock)
  1798. ;
  1799.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1800.         ; parameters:
  1801.         ;    paramBlock      => A0
  1802.         ; returns:
  1803.         ;    OSErr           <= D0
  1804.         _PBAllocateAsync:    OPWORD    $A410
  1805.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1806.         IMPORT_CFM_FUNCTION PBAllocateAsync
  1807.     ENDIF
  1808.  
  1809. ;
  1810. ; pascal OSErr PBGetEOFSync(ParmBlkPtr paramBlock)
  1811. ;
  1812.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1813.         ; parameters:
  1814.         ;    paramBlock      => A0
  1815.         ; returns:
  1816.         ;    OSErr           <= D0
  1817.         _PBGetEOFSync:    OPWORD    $A011
  1818.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1819.         IMPORT_CFM_FUNCTION PBGetEOFSync
  1820.     ENDIF
  1821.  
  1822. ;
  1823. ; pascal OSErr PBGetEOFAsync(ParmBlkPtr paramBlock)
  1824. ;
  1825.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1826.         ; parameters:
  1827.         ;    paramBlock      => A0
  1828.         ; returns:
  1829.         ;    OSErr           <= D0
  1830.         _PBGetEOFAsync:    OPWORD    $A411
  1831.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1832.         IMPORT_CFM_FUNCTION PBGetEOFAsync
  1833.     ENDIF
  1834.  
  1835. ;
  1836. ; pascal OSErr PBSetEOFSync(ParmBlkPtr paramBlock)
  1837. ;
  1838.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1839.         ; parameters:
  1840.         ;    paramBlock      => A0
  1841.         ; returns:
  1842.         ;    OSErr           <= D0
  1843.         _PBSetEOFSync:    OPWORD    $A012
  1844.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1845.         IMPORT_CFM_FUNCTION PBSetEOFSync
  1846.     ENDIF
  1847.  
  1848. ;
  1849. ; pascal OSErr PBSetEOFAsync(ParmBlkPtr paramBlock)
  1850. ;
  1851.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1852.         ; parameters:
  1853.         ;    paramBlock      => A0
  1854.         ; returns:
  1855.         ;    OSErr           <= D0
  1856.         _PBSetEOFAsync:    OPWORD    $A412
  1857.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1858.         IMPORT_CFM_FUNCTION PBSetEOFAsync
  1859.     ENDIF
  1860.  
  1861. ;
  1862. ; pascal OSErr PBGetFPosSync(ParmBlkPtr paramBlock)
  1863. ;
  1864.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1865.         ; parameters:
  1866.         ;    paramBlock      => A0
  1867.         ; returns:
  1868.         ;    OSErr           <= D0
  1869.         _PBGetFPosSync:    OPWORD    $A018
  1870.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1871.         IMPORT_CFM_FUNCTION PBGetFPosSync
  1872.     ENDIF
  1873.  
  1874. ;
  1875. ; pascal OSErr PBGetFPosAsync(ParmBlkPtr paramBlock)
  1876. ;
  1877.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1878.         ; parameters:
  1879.         ;    paramBlock      => A0
  1880.         ; returns:
  1881.         ;    OSErr           <= D0
  1882.         _PBGetFPosAsync:    OPWORD    $A418
  1883.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1884.         IMPORT_CFM_FUNCTION PBGetFPosAsync
  1885.     ENDIF
  1886.  
  1887. ;
  1888. ; pascal OSErr PBSetFPosSync(ParmBlkPtr paramBlock)
  1889. ;
  1890.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1891.         ; parameters:
  1892.         ;    paramBlock      => A0
  1893.         ; returns:
  1894.         ;    OSErr           <= D0
  1895.         _PBSetFPosSync:    OPWORD    $A044
  1896.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1897.         IMPORT_CFM_FUNCTION PBSetFPosSync
  1898.     ENDIF
  1899.  
  1900. ;
  1901. ; pascal OSErr PBSetFPosAsync(ParmBlkPtr paramBlock)
  1902. ;
  1903.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1904.         ; parameters:
  1905.         ;    paramBlock      => A0
  1906.         ; returns:
  1907.         ;    OSErr           <= D0
  1908.         _PBSetFPosAsync:    OPWORD    $A444
  1909.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1910.         IMPORT_CFM_FUNCTION PBSetFPosAsync
  1911.     ENDIF
  1912.  
  1913. ;
  1914. ; pascal OSErr PBFlushFileSync(ParmBlkPtr paramBlock)
  1915. ;
  1916.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1917.         ; parameters:
  1918.         ;    paramBlock      => A0
  1919.         ; returns:
  1920.         ;    OSErr           <= D0
  1921.         _PBFlushFileSync:    OPWORD    $A045
  1922.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1923.         IMPORT_CFM_FUNCTION PBFlushFileSync
  1924.     ENDIF
  1925.  
  1926. ;
  1927. ; pascal OSErr PBFlushFileAsync(ParmBlkPtr paramBlock)
  1928. ;
  1929.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1930.         ; parameters:
  1931.         ;    paramBlock      => A0
  1932.         ; returns:
  1933.         ;    OSErr           <= D0
  1934.         _PBFlushFileAsync:    OPWORD    $A445
  1935.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1936.         IMPORT_CFM_FUNCTION PBFlushFileAsync
  1937.     ENDIF
  1938.  
  1939. ;
  1940. ; pascal OSErr PBMountVol(ParmBlkPtr paramBlock)
  1941. ;
  1942.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1943.         ; parameters:
  1944.         ;    paramBlock      => A0
  1945.         ; returns:
  1946.         ;    OSErr           <= D0
  1947.         _PBMountVol:    OPWORD    $A00F
  1948.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1949.         IMPORT_CFM_FUNCTION PBMountVol
  1950.     ENDIF
  1951.  
  1952. ;
  1953. ; pascal OSErr PBUnmountVol(ParmBlkPtr paramBlock)
  1954. ;
  1955.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1956.         ; parameters:
  1957.         ;    paramBlock      => A0
  1958.         ; returns:
  1959.         ;    OSErr           <= D0
  1960.         _PBUnmountVol:    OPWORD    $A00E
  1961.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1962.         IMPORT_CFM_FUNCTION PBUnmountVol
  1963.     ENDIF
  1964.  
  1965. ;
  1966. ; pascal OSErr PBUnmountVolImmed(ParmBlkPtr paramBlock)
  1967. ;
  1968.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1969.         ; parameters:
  1970.         ;    paramBlock      => A0
  1971.         ; returns:
  1972.         ;    OSErr           <= D0
  1973.         _PBUnmountVolImmed:    OPWORD    $A20E
  1974.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1975.         IMPORT_CFM_FUNCTION PBUnmountVolImmed
  1976.     ENDIF
  1977.  
  1978. ;
  1979. ; pascal OSErr PBEject(ParmBlkPtr paramBlock)
  1980. ;
  1981.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1982.         ; parameters:
  1983.         ;    paramBlock      => A0
  1984.         ; returns:
  1985.         ;    OSErr           <= D0
  1986.         _PBEject:    OPWORD    $A017
  1987.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1988.         IMPORT_CFM_FUNCTION PBEject
  1989.     ENDIF
  1990.  
  1991. ;
  1992. ; pascal OSErr PBOffLine(ParmBlkPtr paramBlock)
  1993. ;
  1994.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1995.         ; parameters:
  1996.         ;    paramBlock      => A0
  1997.         ; returns:
  1998.         ;    OSErr           <= D0
  1999.         _PBOffLine:    OPWORD    $A035
  2000.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2001.         IMPORT_CFM_FUNCTION PBOffLine
  2002.     ENDIF
  2003.  
  2004. ;
  2005. ; pascal OSErr PBCatSearchSync(CSParamPtr paramBlock)
  2006. ;
  2007.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2008.         ; parameters:
  2009.         ;    paramBlock      => A0
  2010.         ; returns:
  2011.         ;    OSErr           <= D0
  2012.         Macro
  2013.         _PBCatSearchSync
  2014.             moveq               #24,D0
  2015.             dc.w                $A260
  2016.         EndM
  2017.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2018.         IMPORT_CFM_FUNCTION PBCatSearchSync
  2019.     ENDIF
  2020.  
  2021. ;
  2022. ; pascal OSErr PBCatSearchAsync(CSParamPtr paramBlock)
  2023. ;
  2024.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2025.         ; parameters:
  2026.         ;    paramBlock      => A0
  2027.         ; returns:
  2028.         ;    OSErr           <= D0
  2029.         Macro
  2030.         _PBCatSearchAsync
  2031.             moveq               #24,D0
  2032.             dc.w                $A660
  2033.         EndM
  2034.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2035.         IMPORT_CFM_FUNCTION PBCatSearchAsync
  2036.     ENDIF
  2037.  
  2038. ;
  2039. ; pascal OSErr SetVol(ConstStr63Param volName, short vRefNum)
  2040. ;
  2041.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2042.         IMPORT_CFM_FUNCTION SetVol
  2043.     ENDIF
  2044.  
  2045. ;
  2046. ; pascal OSErr UnmountVol(ConstStr63Param volName, short vRefNum)
  2047. ;
  2048.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2049.         IMPORT_CFM_FUNCTION UnmountVol
  2050.     ENDIF
  2051.  
  2052. ;
  2053. ; pascal OSErr Eject(ConstStr63Param volName, short vRefNum)
  2054. ;
  2055.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2056.         IMPORT_CFM_FUNCTION Eject
  2057.     ENDIF
  2058.  
  2059. ;
  2060. ; pascal OSErr FlushVol(ConstStr63Param volName, short vRefNum)
  2061. ;
  2062.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2063.         IMPORT_CFM_FUNCTION FlushVol
  2064.     ENDIF
  2065.  
  2066. ;
  2067. ; pascal OSErr HSetVol(ConstStr63Param volName, short vRefNum, long dirID)
  2068. ;
  2069.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2070.         IMPORT_CFM_FUNCTION HSetVol
  2071.     ENDIF
  2072.  
  2073.     IF OLDROUTINELOCATIONS THEN
  2074. ;
  2075. ; pascal void AddDrive(short drvrRefNum, short drvNum, DrvQElPtr qEl)
  2076. ;
  2077.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2078.         IMPORT_CFM_FUNCTION AddDrive
  2079.     ENDIF
  2080.  
  2081.     ENDIF    ; OLDROUTINELOCATIONS
  2082. ;
  2083. ; pascal OSErr FSOpen(ConstStr255Param fileName, short vRefNum, short *refNum)
  2084. ;
  2085.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2086.         IMPORT_CFM_FUNCTION FSOpen
  2087.     ENDIF
  2088.  
  2089. ;
  2090. ; pascal OSErr OpenDF(ConstStr255Param fileName, short vRefNum, short *refNum)
  2091. ;
  2092.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2093.         IMPORT_CFM_FUNCTION OpenDF
  2094.     ENDIF
  2095.  
  2096. ;
  2097. ; pascal OSErr FSClose(short refNum)
  2098. ;
  2099.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2100.         IMPORT_CFM_FUNCTION FSClose
  2101.     ENDIF
  2102.  
  2103. ;
  2104. ; pascal OSErr FSRead(short refNum, long *count, void *buffPtr)
  2105. ;
  2106.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2107.         IMPORT_CFM_FUNCTION FSRead
  2108.     ENDIF
  2109.  
  2110. ;
  2111. ; pascal OSErr FSWrite(short refNum, long *count, const void *buffPtr)
  2112. ;
  2113.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2114.         IMPORT_CFM_FUNCTION FSWrite
  2115.     ENDIF
  2116.  
  2117. ;
  2118. ; pascal OSErr GetVInfo(short drvNum, StringPtr volName, short *vRefNum, long *freeBytes)
  2119. ;
  2120.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2121.         IMPORT_CFM_FUNCTION GetVInfo
  2122.     ENDIF
  2123.  
  2124. ;
  2125. ; pascal OSErr GetFInfo(ConstStr255Param fileName, short vRefNum, FInfo *fndrInfo)
  2126. ;
  2127.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2128.         IMPORT_CFM_FUNCTION GetFInfo
  2129.     ENDIF
  2130.  
  2131. ;
  2132. ; pascal OSErr GetVol(StringPtr volName, short *vRefNum)
  2133. ;
  2134.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2135.         IMPORT_CFM_FUNCTION GetVol
  2136.     ENDIF
  2137.  
  2138. ;
  2139. ; pascal OSErr Create(ConstStr255Param fileName, short vRefNum, OSType creator, OSType fileType)
  2140. ;
  2141.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2142.         IMPORT_CFM_FUNCTION Create
  2143.     ENDIF
  2144.  
  2145. ;
  2146. ; pascal OSErr FSDelete(ConstStr255Param fileName, short vRefNum)
  2147. ;
  2148.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2149.         IMPORT_CFM_FUNCTION FSDelete
  2150.     ENDIF
  2151.  
  2152. ;
  2153. ; pascal OSErr OpenRF(ConstStr255Param fileName, short vRefNum, short *refNum)
  2154. ;
  2155.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2156.         IMPORT_CFM_FUNCTION OpenRF
  2157.     ENDIF
  2158.  
  2159. ;
  2160. ; pascal OSErr Rename(ConstStr255Param oldName, short vRefNum, ConstStr255Param newName)
  2161. ;
  2162.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2163.         IMPORT_CFM_FUNCTION Rename
  2164.     ENDIF
  2165.  
  2166. ;
  2167. ; pascal OSErr SetFInfo(ConstStr255Param fileName, short vRefNum, const FInfo *fndrInfo)
  2168. ;
  2169.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2170.         IMPORT_CFM_FUNCTION SetFInfo
  2171.     ENDIF
  2172.  
  2173. ;
  2174. ; pascal OSErr SetFLock(ConstStr255Param fileName, short vRefNum)
  2175. ;
  2176.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2177.         IMPORT_CFM_FUNCTION SetFLock
  2178.     ENDIF
  2179.  
  2180. ;
  2181. ; pascal OSErr RstFLock(ConstStr255Param fileName, short vRefNum)
  2182. ;
  2183.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2184.         IMPORT_CFM_FUNCTION RstFLock
  2185.     ENDIF
  2186.  
  2187. ;
  2188. ; pascal OSErr Allocate(short refNum, long *count)
  2189. ;
  2190.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2191.         IMPORT_CFM_FUNCTION Allocate
  2192.     ENDIF
  2193.  
  2194. ;
  2195. ; pascal OSErr GetEOF(short refNum, long *logEOF)
  2196. ;
  2197.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2198.         IMPORT_CFM_FUNCTION GetEOF
  2199.     ENDIF
  2200.  
  2201. ;
  2202. ; pascal OSErr SetEOF(short refNum, long logEOF)
  2203. ;
  2204.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2205.         IMPORT_CFM_FUNCTION SetEOF
  2206.     ENDIF
  2207.  
  2208. ;
  2209. ; pascal OSErr GetFPos(short refNum, long *filePos)
  2210. ;
  2211.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2212.         IMPORT_CFM_FUNCTION GetFPos
  2213.     ENDIF
  2214.  
  2215. ;
  2216. ; pascal OSErr SetFPos(short refNum, short posMode, long posOff)
  2217. ;
  2218.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2219.         IMPORT_CFM_FUNCTION SetFPos
  2220.     ENDIF
  2221.  
  2222. ;
  2223. ; pascal OSErr GetVRefNum(short fileRefNum, short *vRefNum)
  2224. ;
  2225.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2226.         IMPORT_CFM_FUNCTION GetVRefNum
  2227.     ENDIF
  2228.  
  2229. ;
  2230. ; pascal OSErr PBOpenWDSync(WDPBPtr paramBlock)
  2231. ;
  2232.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2233.         ; parameters:
  2234.         ;    paramBlock      => A0
  2235.         ; returns:
  2236.         ;    OSErr           <= D0
  2237.         Macro
  2238.         _PBOpenWDSync
  2239.             moveq               #1,D0
  2240.             dc.w                $A260
  2241.         EndM
  2242.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2243.         IMPORT_CFM_FUNCTION PBOpenWDSync
  2244.     ENDIF
  2245.  
  2246. ;
  2247. ; pascal OSErr PBOpenWDAsync(WDPBPtr paramBlock)
  2248. ;
  2249.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2250.         ; parameters:
  2251.         ;    paramBlock      => A0
  2252.         ; returns:
  2253.         ;    OSErr           <= D0
  2254.         Macro
  2255.         _PBOpenWDAsync
  2256.             moveq               #1,D0
  2257.             dc.w                $A660
  2258.         EndM
  2259.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2260.         IMPORT_CFM_FUNCTION PBOpenWDAsync
  2261.     ENDIF
  2262.  
  2263. ;
  2264. ; pascal OSErr PBCloseWDSync(WDPBPtr paramBlock)
  2265. ;
  2266.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2267.         ; parameters:
  2268.         ;    paramBlock      => A0
  2269.         ; returns:
  2270.         ;    OSErr           <= D0
  2271.         Macro
  2272.         _PBCloseWDSync
  2273.             moveq               #2,D0
  2274.             dc.w                $A260
  2275.         EndM
  2276.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2277.         IMPORT_CFM_FUNCTION PBCloseWDSync
  2278.     ENDIF
  2279.  
  2280. ;
  2281. ; pascal OSErr PBCloseWDAsync(WDPBPtr paramBlock)
  2282. ;
  2283.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2284.         ; parameters:
  2285.         ;    paramBlock      => A0
  2286.         ; returns:
  2287.         ;    OSErr           <= D0
  2288.         Macro
  2289.         _PBCloseWDAsync
  2290.             moveq               #2,D0
  2291.             dc.w                $A660
  2292.         EndM
  2293.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2294.         IMPORT_CFM_FUNCTION PBCloseWDAsync
  2295.     ENDIF
  2296.  
  2297. ;
  2298. ; pascal OSErr PBHSetVolSync(WDPBPtr paramBlock)
  2299. ;
  2300.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2301.         ; parameters:
  2302.         ;    paramBlock      => A0
  2303.         ; returns:
  2304.         ;    OSErr           <= D0
  2305.         _PBHSetVolSync:    OPWORD    $A215
  2306.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2307.         IMPORT_CFM_FUNCTION PBHSetVolSync
  2308.     ENDIF
  2309.  
  2310. ;
  2311. ; pascal OSErr PBHSetVolAsync(WDPBPtr paramBlock)
  2312. ;
  2313.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2314.         ; parameters:
  2315.         ;    paramBlock      => A0
  2316.         ; returns:
  2317.         ;    OSErr           <= D0
  2318.         _PBHSetVolAsync:    OPWORD    $A615
  2319.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2320.         IMPORT_CFM_FUNCTION PBHSetVolAsync
  2321.     ENDIF
  2322.  
  2323. ;
  2324. ; pascal OSErr PBHGetVolSync(WDPBPtr paramBlock)
  2325. ;
  2326.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2327.         ; parameters:
  2328.         ;    paramBlock      => A0
  2329.         ; returns:
  2330.         ;    OSErr           <= D0
  2331.         _PBHGetVolSync:    OPWORD    $A214
  2332.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2333.         IMPORT_CFM_FUNCTION PBHGetVolSync
  2334.     ENDIF
  2335.  
  2336. ;
  2337. ; pascal OSErr PBHGetVolAsync(WDPBPtr paramBlock)
  2338. ;
  2339.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2340.         ; parameters:
  2341.         ;    paramBlock      => A0
  2342.         ; returns:
  2343.         ;    OSErr           <= D0
  2344.         _PBHGetVolAsync:    OPWORD    $A614
  2345.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2346.         IMPORT_CFM_FUNCTION PBHGetVolAsync
  2347.     ENDIF
  2348.  
  2349. ;
  2350. ; pascal OSErr PBCatMoveSync(CMovePBPtr paramBlock)
  2351. ;
  2352.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2353.         ; parameters:
  2354.         ;    paramBlock      => A0
  2355.         ; returns:
  2356.         ;    OSErr           <= D0
  2357.         Macro
  2358.         _PBCatMoveSync
  2359.             moveq               #5,D0
  2360.             dc.w                $A260
  2361.         EndM
  2362.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2363.         IMPORT_CFM_FUNCTION PBCatMoveSync
  2364.     ENDIF
  2365.  
  2366. ;
  2367. ; pascal OSErr PBCatMoveAsync(CMovePBPtr paramBlock)
  2368. ;
  2369.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2370.         ; parameters:
  2371.         ;    paramBlock      => A0
  2372.         ; returns:
  2373.         ;    OSErr           <= D0
  2374.         Macro
  2375.         _PBCatMoveAsync
  2376.             moveq               #5,D0
  2377.             dc.w                $A660
  2378.         EndM
  2379.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2380.         IMPORT_CFM_FUNCTION PBCatMoveAsync
  2381.     ENDIF
  2382.  
  2383. ;
  2384. ; pascal OSErr PBDirCreateSync(HParmBlkPtr paramBlock)
  2385. ;
  2386.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2387.         ; parameters:
  2388.         ;    paramBlock      => A0
  2389.         ; returns:
  2390.         ;    OSErr           <= D0
  2391.         Macro
  2392.         _PBDirCreateSync
  2393.             moveq               #6,D0
  2394.             dc.w                $A260
  2395.         EndM
  2396.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2397.         IMPORT_CFM_FUNCTION PBDirCreateSync
  2398.     ENDIF
  2399.  
  2400. ;
  2401. ; pascal OSErr PBDirCreateAsync(HParmBlkPtr paramBlock)
  2402. ;
  2403.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2404.         ; parameters:
  2405.         ;    paramBlock      => A0
  2406.         ; returns:
  2407.         ;    OSErr           <= D0
  2408.         Macro
  2409.         _PBDirCreateAsync
  2410.             moveq               #6,D0
  2411.             dc.w                $A660
  2412.         EndM
  2413.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2414.         IMPORT_CFM_FUNCTION PBDirCreateAsync
  2415.     ENDIF
  2416.  
  2417. ;
  2418. ; pascal OSErr PBGetWDInfoSync(WDPBPtr paramBlock)
  2419. ;
  2420.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2421.         ; parameters:
  2422.         ;    paramBlock      => A0
  2423.         ; returns:
  2424.         ;    OSErr           <= D0
  2425.         Macro
  2426.         _PBGetWDInfoSync
  2427.             moveq               #7,D0
  2428.             dc.w                $A260
  2429.         EndM
  2430.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2431.         IMPORT_CFM_FUNCTION PBGetWDInfoSync
  2432.     ENDIF
  2433.  
  2434. ;
  2435. ; pascal OSErr PBGetWDInfoAsync(WDPBPtr paramBlock)
  2436. ;
  2437.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2438.         ; parameters:
  2439.         ;    paramBlock      => A0
  2440.         ; returns:
  2441.         ;    OSErr           <= D0
  2442.         Macro
  2443.         _PBGetWDInfoAsync
  2444.             moveq               #7,D0
  2445.             dc.w                $A660
  2446.         EndM
  2447.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2448.         IMPORT_CFM_FUNCTION PBGetWDInfoAsync
  2449.     ENDIF
  2450.  
  2451. ;
  2452. ; pascal OSErr PBGetFCBInfoSync(FCBPBPtr paramBlock)
  2453. ;
  2454.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2455.         ; parameters:
  2456.         ;    paramBlock      => A0
  2457.         ; returns:
  2458.         ;    OSErr           <= D0
  2459.         Macro
  2460.         _PBGetFCBInfoSync
  2461.             moveq               #8,D0
  2462.             dc.w                $A260
  2463.         EndM
  2464.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2465.         IMPORT_CFM_FUNCTION PBGetFCBInfoSync
  2466.     ENDIF
  2467.  
  2468. ;
  2469. ; pascal OSErr PBGetFCBInfoAsync(FCBPBPtr paramBlock)
  2470. ;
  2471.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2472.         ; parameters:
  2473.         ;    paramBlock      => A0
  2474.         ; returns:
  2475.         ;    OSErr           <= D0
  2476.         Macro
  2477.         _PBGetFCBInfoAsync
  2478.             moveq               #8,D0
  2479.             dc.w                $A660
  2480.         EndM
  2481.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2482.         IMPORT_CFM_FUNCTION PBGetFCBInfoAsync
  2483.     ENDIF
  2484.  
  2485. ;
  2486. ; pascal OSErr PBGetCatInfoSync(CInfoPBPtr paramBlock)
  2487. ;
  2488.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2489.         ; parameters:
  2490.         ;    paramBlock      => A0
  2491.         ; returns:
  2492.         ;    OSErr           <= D0
  2493.         Macro
  2494.         _PBGetCatInfoSync
  2495.             moveq               #9,D0
  2496.             dc.w                $A260
  2497.         EndM
  2498.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2499.         IMPORT_CFM_FUNCTION PBGetCatInfoSync
  2500.     ENDIF
  2501.  
  2502. ;
  2503. ; pascal OSErr PBGetCatInfoAsync(CInfoPBPtr paramBlock)
  2504. ;
  2505.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2506.         ; parameters:
  2507.         ;    paramBlock      => A0
  2508.         ; returns:
  2509.         ;    OSErr           <= D0
  2510.         Macro
  2511.         _PBGetCatInfoAsync
  2512.             moveq               #9,D0
  2513.             dc.w                $A660
  2514.         EndM
  2515.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2516.         IMPORT_CFM_FUNCTION PBGetCatInfoAsync
  2517.     ENDIF
  2518.  
  2519. ;
  2520. ; pascal OSErr PBSetCatInfoSync(CInfoPBPtr paramBlock)
  2521. ;
  2522.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2523.         ; parameters:
  2524.         ;    paramBlock      => A0
  2525.         ; returns:
  2526.         ;    OSErr           <= D0
  2527.         Macro
  2528.         _PBSetCatInfoSync
  2529.             moveq               #10,D0
  2530.             dc.w                $A260
  2531.         EndM
  2532.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2533.         IMPORT_CFM_FUNCTION PBSetCatInfoSync
  2534.     ENDIF
  2535.  
  2536. ;
  2537. ; pascal OSErr PBSetCatInfoAsync(CInfoPBPtr paramBlock)
  2538. ;
  2539.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2540.         ; parameters:
  2541.         ;    paramBlock      => A0
  2542.         ; returns:
  2543.         ;    OSErr           <= D0
  2544.         Macro
  2545.         _PBSetCatInfoAsync
  2546.             moveq               #10,D0
  2547.             dc.w                $A660
  2548.         EndM
  2549.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2550.         IMPORT_CFM_FUNCTION PBSetCatInfoAsync
  2551.     ENDIF
  2552.  
  2553. ;
  2554. ; pascal OSErr PBAllocContigSync(ParmBlkPtr paramBlock)
  2555. ;
  2556.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2557.         ; parameters:
  2558.         ;    paramBlock      => A0
  2559.         ; returns:
  2560.         ;    OSErr           <= D0
  2561.         _PBAllocContigSync:    OPWORD    $A210
  2562.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2563.         IMPORT_CFM_FUNCTION PBAllocContigSync
  2564.     ENDIF
  2565.  
  2566. ;
  2567. ; pascal OSErr PBAllocContigAsync(ParmBlkPtr paramBlock)
  2568. ;
  2569.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2570.         ; parameters:
  2571.         ;    paramBlock      => A0
  2572.         ; returns:
  2573.         ;    OSErr           <= D0
  2574.         _PBAllocContigAsync:    OPWORD    $A610
  2575.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2576.         IMPORT_CFM_FUNCTION PBAllocContigAsync
  2577.     ENDIF
  2578.  
  2579. ;
  2580. ; pascal OSErr PBLockRangeSync(ParmBlkPtr paramBlock)
  2581. ;
  2582.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2583.         ; parameters:
  2584.         ;    paramBlock      => A0
  2585.         ; returns:
  2586.         ;    OSErr           <= D0
  2587.         Macro
  2588.         _PBLockRangeSync
  2589.             moveq               #16,D0
  2590.             dc.w                $A260
  2591.         EndM
  2592.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2593.         IMPORT_CFM_FUNCTION PBLockRangeSync
  2594.     ENDIF
  2595.  
  2596. ;
  2597. ; pascal OSErr PBLockRangeAsync(ParmBlkPtr paramBlock)
  2598. ;
  2599.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2600.         ; parameters:
  2601.         ;    paramBlock      => A0
  2602.         ; returns:
  2603.         ;    OSErr           <= D0
  2604.         Macro
  2605.         _PBLockRangeAsync
  2606.             moveq               #16,D0
  2607.             dc.w                $A660
  2608.         EndM
  2609.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2610.         IMPORT_CFM_FUNCTION PBLockRangeAsync
  2611.     ENDIF
  2612.  
  2613. ;
  2614. ; pascal OSErr PBUnlockRangeSync(ParmBlkPtr paramBlock)
  2615. ;
  2616.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2617.         ; parameters:
  2618.         ;    paramBlock      => A0
  2619.         ; returns:
  2620.         ;    OSErr           <= D0
  2621.         Macro
  2622.         _PBUnlockRangeSync
  2623.             moveq               #17,D0
  2624.             dc.w                $A260
  2625.         EndM
  2626.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2627.         IMPORT_CFM_FUNCTION PBUnlockRangeSync
  2628.     ENDIF
  2629.  
  2630. ;
  2631. ; pascal OSErr PBUnlockRangeAsync(ParmBlkPtr paramBlock)
  2632. ;
  2633.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2634.         ; parameters:
  2635.         ;    paramBlock      => A0
  2636.         ; returns:
  2637.         ;    OSErr           <= D0
  2638.         Macro
  2639.         _PBUnlockRangeAsync
  2640.             moveq               #17,D0
  2641.             dc.w                $A660
  2642.         EndM
  2643.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2644.         IMPORT_CFM_FUNCTION PBUnlockRangeAsync
  2645.     ENDIF
  2646.  
  2647. ;
  2648. ; pascal OSErr PBSetVInfoSync(HParmBlkPtr paramBlock)
  2649. ;
  2650.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2651.         ; parameters:
  2652.         ;    paramBlock      => A0
  2653.         ; returns:
  2654.         ;    OSErr           <= D0
  2655.         Macro
  2656.         _PBSetVInfoSync
  2657.             moveq               #11,D0
  2658.             dc.w                $A260
  2659.         EndM
  2660.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2661.         IMPORT_CFM_FUNCTION PBSetVInfoSync
  2662.     ENDIF
  2663.  
  2664. ;
  2665. ; pascal OSErr PBSetVInfoAsync(HParmBlkPtr paramBlock)
  2666. ;
  2667.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2668.         ; parameters:
  2669.         ;    paramBlock      => A0
  2670.         ; returns:
  2671.         ;    OSErr           <= D0
  2672.         Macro
  2673.         _PBSetVInfoAsync
  2674.             moveq               #11,D0
  2675.             dc.w                $A660
  2676.         EndM
  2677.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2678.         IMPORT_CFM_FUNCTION PBSetVInfoAsync
  2679.     ENDIF
  2680.  
  2681. ;
  2682. ; pascal OSErr PBHGetVInfoSync(HParmBlkPtr paramBlock)
  2683. ;
  2684.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2685.         ; parameters:
  2686.         ;    paramBlock      => A0
  2687.         ; returns:
  2688.         ;    OSErr           <= D0
  2689.         _PBHGetVInfoSync:    OPWORD    $A207
  2690.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2691.         IMPORT_CFM_FUNCTION PBHGetVInfoSync
  2692.     ENDIF
  2693.  
  2694. ;
  2695. ; pascal OSErr PBHGetVInfoAsync(HParmBlkPtr paramBlock)
  2696. ;
  2697.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2698.         ; parameters:
  2699.         ;    paramBlock      => A0
  2700.         ; returns:
  2701.         ;    OSErr           <= D0
  2702.         _PBHGetVInfoAsync:    OPWORD    $A607
  2703.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2704.         IMPORT_CFM_FUNCTION PBHGetVInfoAsync
  2705.     ENDIF
  2706.  
  2707. ;
  2708. ; pascal OSErr PBHOpenSync(HParmBlkPtr paramBlock)
  2709. ;
  2710.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2711.         ; parameters:
  2712.         ;    paramBlock      => A0
  2713.         ; returns:
  2714.         ;    OSErr           <= D0
  2715.         _PBHOpenSync:    OPWORD    $A200
  2716.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2717.         IMPORT_CFM_FUNCTION PBHOpenSync
  2718.     ENDIF
  2719.  
  2720. ;
  2721. ; pascal OSErr PBHOpenAsync(HParmBlkPtr paramBlock)
  2722. ;
  2723.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2724.         ; parameters:
  2725.         ;    paramBlock      => A0
  2726.         ; returns:
  2727.         ;    OSErr           <= D0
  2728.         _PBHOpenAsync:    OPWORD    $A600
  2729.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2730.         IMPORT_CFM_FUNCTION PBHOpenAsync
  2731.     ENDIF
  2732.  
  2733. ;
  2734. ; pascal OSErr PBHOpenRFSync(HParmBlkPtr paramBlock)
  2735. ;
  2736.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2737.         ; parameters:
  2738.         ;    paramBlock      => A0
  2739.         ; returns:
  2740.         ;    OSErr           <= D0
  2741.         _PBHOpenRFSync:    OPWORD    $A20A
  2742.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2743.         IMPORT_CFM_FUNCTION PBHOpenRFSync
  2744.     ENDIF
  2745.  
  2746. ;
  2747. ; pascal OSErr PBHOpenRFAsync(HParmBlkPtr paramBlock)
  2748. ;
  2749.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2750.         ; parameters:
  2751.         ;    paramBlock      => A0
  2752.         ; returns:
  2753.         ;    OSErr           <= D0
  2754.         _PBHOpenRFAsync:    OPWORD    $A60A
  2755.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2756.         IMPORT_CFM_FUNCTION PBHOpenRFAsync
  2757.     ENDIF
  2758.  
  2759. ;
  2760. ; pascal OSErr PBHOpenDFSync(HParmBlkPtr paramBlock)
  2761. ;
  2762.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2763.         ; parameters:
  2764.         ;    paramBlock      => A0
  2765.         ; returns:
  2766.         ;    OSErr           <= D0
  2767.         Macro
  2768.         _PBHOpenDFSync
  2769.             moveq               #26,D0
  2770.             dc.w                $A260
  2771.         EndM
  2772.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2773.         IMPORT_CFM_FUNCTION PBHOpenDFSync
  2774.     ENDIF
  2775.  
  2776. ;
  2777. ; pascal OSErr PBHOpenDFAsync(HParmBlkPtr paramBlock)
  2778. ;
  2779.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2780.         ; parameters:
  2781.         ;    paramBlock      => A0
  2782.         ; returns:
  2783.         ;    OSErr           <= D0
  2784.         Macro
  2785.         _PBHOpenDFAsync
  2786.             moveq               #26,D0
  2787.             dc.w                $A660
  2788.         EndM
  2789.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2790.         IMPORT_CFM_FUNCTION PBHOpenDFAsync
  2791.     ENDIF
  2792.  
  2793. ;
  2794. ; pascal OSErr PBHCreateSync(HParmBlkPtr paramBlock)
  2795. ;
  2796.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2797.         ; parameters:
  2798.         ;    paramBlock      => A0
  2799.         ; returns:
  2800.         ;    OSErr           <= D0
  2801.         _PBHCreateSync:    OPWORD    $A208
  2802.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2803.         IMPORT_CFM_FUNCTION PBHCreateSync
  2804.     ENDIF
  2805.  
  2806. ;
  2807. ; pascal OSErr PBHCreateAsync(HParmBlkPtr paramBlock)
  2808. ;
  2809.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2810.         ; parameters:
  2811.         ;    paramBlock      => A0
  2812.         ; returns:
  2813.         ;    OSErr           <= D0
  2814.         _PBHCreateAsync:    OPWORD    $A608
  2815.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2816.         IMPORT_CFM_FUNCTION PBHCreateAsync
  2817.     ENDIF
  2818.  
  2819. ;
  2820. ; pascal OSErr PBHDeleteSync(HParmBlkPtr paramBlock)
  2821. ;
  2822.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2823.         ; parameters:
  2824.         ;    paramBlock      => A0
  2825.         ; returns:
  2826.         ;    OSErr           <= D0
  2827.         _PBHDeleteSync:    OPWORD    $A209
  2828.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2829.         IMPORT_CFM_FUNCTION PBHDeleteSync
  2830.     ENDIF
  2831.  
  2832. ;
  2833. ; pascal OSErr PBHDeleteAsync(HParmBlkPtr paramBlock)
  2834. ;
  2835.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2836.         ; parameters:
  2837.         ;    paramBlock      => A0
  2838.         ; returns:
  2839.         ;    OSErr           <= D0
  2840.         _PBHDeleteAsync:    OPWORD    $A609
  2841.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2842.         IMPORT_CFM_FUNCTION PBHDeleteAsync
  2843.     ENDIF
  2844.  
  2845. ;
  2846. ; pascal OSErr PBHRenameSync(HParmBlkPtr paramBlock)
  2847. ;
  2848.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2849.         ; parameters:
  2850.         ;    paramBlock      => A0
  2851.         ; returns:
  2852.         ;    OSErr           <= D0
  2853.         _PBHRenameSync:    OPWORD    $A20B
  2854.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2855.         IMPORT_CFM_FUNCTION PBHRenameSync
  2856.     ENDIF
  2857.  
  2858. ;
  2859. ; pascal OSErr PBHRenameAsync(HParmBlkPtr paramBlock)
  2860. ;
  2861.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2862.         ; parameters:
  2863.         ;    paramBlock      => A0
  2864.         ; returns:
  2865.         ;    OSErr           <= D0
  2866.         _PBHRenameAsync:    OPWORD    $A60B
  2867.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2868.         IMPORT_CFM_FUNCTION PBHRenameAsync
  2869.     ENDIF
  2870.  
  2871. ;
  2872. ; pascal OSErr PBHRstFLockSync(HParmBlkPtr paramBlock)
  2873. ;
  2874.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2875.         ; parameters:
  2876.         ;    paramBlock      => A0
  2877.         ; returns:
  2878.         ;    OSErr           <= D0
  2879.         _PBHRstFLockSync:    OPWORD    $A242
  2880.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2881.         IMPORT_CFM_FUNCTION PBHRstFLockSync
  2882.     ENDIF
  2883.  
  2884. ;
  2885. ; pascal OSErr PBHRstFLockAsync(HParmBlkPtr paramBlock)
  2886. ;
  2887.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2888.         ; parameters:
  2889.         ;    paramBlock      => A0
  2890.         ; returns:
  2891.         ;    OSErr           <= D0
  2892.         _PBHRstFLockAsync:    OPWORD    $A642
  2893.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2894.         IMPORT_CFM_FUNCTION PBHRstFLockAsync
  2895.     ENDIF
  2896.  
  2897. ;
  2898. ; pascal OSErr PBHSetFLockSync(HParmBlkPtr paramBlock)
  2899. ;
  2900.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2901.         ; parameters:
  2902.         ;    paramBlock      => A0
  2903.         ; returns:
  2904.         ;    OSErr           <= D0
  2905.         _PBHSetFLockSync:    OPWORD    $A241
  2906.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2907.         IMPORT_CFM_FUNCTION PBHSetFLockSync
  2908.     ENDIF
  2909.  
  2910. ;
  2911. ; pascal OSErr PBHSetFLockAsync(HParmBlkPtr paramBlock)
  2912. ;
  2913.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2914.         ; parameters:
  2915.         ;    paramBlock      => A0
  2916.         ; returns:
  2917.         ;    OSErr           <= D0
  2918.         _PBHSetFLockAsync:    OPWORD    $A641
  2919.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2920.         IMPORT_CFM_FUNCTION PBHSetFLockAsync
  2921.     ENDIF
  2922.  
  2923. ;
  2924. ; pascal OSErr PBHGetFInfoSync(HParmBlkPtr paramBlock)
  2925. ;
  2926.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2927.         ; parameters:
  2928.         ;    paramBlock      => A0
  2929.         ; returns:
  2930.         ;    OSErr           <= D0
  2931.         _PBHGetFInfoSync:    OPWORD    $A20C
  2932.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2933.         IMPORT_CFM_FUNCTION PBHGetFInfoSync
  2934.     ENDIF
  2935.  
  2936. ;
  2937. ; pascal OSErr PBHGetFInfoAsync(HParmBlkPtr paramBlock)
  2938. ;
  2939.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2940.         ; parameters:
  2941.         ;    paramBlock      => A0
  2942.         ; returns:
  2943.         ;    OSErr           <= D0
  2944.         _PBHGetFInfoAsync:    OPWORD    $A60C
  2945.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2946.         IMPORT_CFM_FUNCTION PBHGetFInfoAsync
  2947.     ENDIF
  2948.  
  2949. ;
  2950. ; pascal OSErr PBHSetFInfoSync(HParmBlkPtr paramBlock)
  2951. ;
  2952.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2953.         ; parameters:
  2954.         ;    paramBlock      => A0
  2955.         ; returns:
  2956.         ;    OSErr           <= D0
  2957.         _PBHSetFInfoSync:    OPWORD    $A20D
  2958.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2959.         IMPORT_CFM_FUNCTION PBHSetFInfoSync
  2960.     ENDIF
  2961.  
  2962. ;
  2963. ; pascal OSErr PBHSetFInfoAsync(HParmBlkPtr paramBlock)
  2964. ;
  2965.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2966.         ; parameters:
  2967.         ;    paramBlock      => A0
  2968.         ; returns:
  2969.         ;    OSErr           <= D0
  2970.         _PBHSetFInfoAsync:    OPWORD    $A60D
  2971.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2972.         IMPORT_CFM_FUNCTION PBHSetFInfoAsync
  2973.     ENDIF
  2974.  
  2975. ;
  2976. ; pascal OSErr PBMakeFSSpecSync(HParmBlkPtr paramBlock)
  2977. ;
  2978.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2979.         ; parameters:
  2980.         ;    paramBlock      => A0
  2981.         ; returns:
  2982.         ;    OSErr           <= D0
  2983.         Macro
  2984.         _PBMakeFSSpecSync
  2985.             moveq               #27,D0
  2986.             dc.w                $A260
  2987.         EndM
  2988.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2989.         IMPORT_CFM_FUNCTION PBMakeFSSpecSync
  2990.     ENDIF
  2991.  
  2992. ;
  2993. ; pascal OSErr PBMakeFSSpecAsync(HParmBlkPtr paramBlock)
  2994. ;
  2995.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2996.         ; parameters:
  2997.         ;    paramBlock      => A0
  2998.         ; returns:
  2999.         ;    OSErr           <= D0
  3000.         Macro
  3001.         _PBMakeFSSpecAsync
  3002.             moveq               #27,D0
  3003.             dc.w                $A660
  3004.         EndM
  3005.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3006.         IMPORT_CFM_FUNCTION PBMakeFSSpecAsync
  3007.     ENDIF
  3008.  
  3009. ;
  3010. ; pascal void FInitQueue(void )
  3011. ;
  3012.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3013.         _FInitQueue:    OPWORD    $A016
  3014.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3015.         IMPORT_CFM_FUNCTION FInitQueue
  3016.     ENDIF
  3017.  
  3018.  
  3019. ;
  3020. ; pascal QHdrPtr GetFSQHdr(void )
  3021. ;
  3022.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3023.         Macro
  3024.         _GetFSQHdr            &dest=(sp)
  3025.             move.l            #$00000360,&dest
  3026.         EndM
  3027.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3028.         IMPORT_CFM_FUNCTION GetFSQHdr
  3029.     ENDIF
  3030.  
  3031. ;
  3032. ; pascal QHdrPtr GetVCBQHdr(void )
  3033. ;
  3034.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3035.         Macro
  3036.         _GetVCBQHdr           &dest=(sp)
  3037.             move.l            #$00000356,&dest
  3038.         EndM
  3039.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3040.         IMPORT_CFM_FUNCTION GetVCBQHdr
  3041.     ENDIF
  3042.  
  3043.     IF OLDROUTINELOCATIONS THEN
  3044. ;
  3045. ; pascal QHdrPtr GetDrvQHdr(void )
  3046. ;
  3047.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3048.         Macro
  3049.         _GetDrvQHdr           &dest=(sp)
  3050.             move.l            #$00000308,&dest
  3051.         EndM
  3052.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3053.         IMPORT_CFM_FUNCTION GetDrvQHdr
  3054.     ENDIF
  3055.  
  3056.     ENDIF    ; OLDROUTINELOCATIONS
  3057. ;
  3058. ; pascal OSErr HGetVol(StringPtr volName, short *vRefNum, long *dirID)
  3059. ;
  3060.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3061.         IMPORT_CFM_FUNCTION HGetVol
  3062.     ENDIF
  3063.  
  3064. ;
  3065. ; pascal OSErr HOpen(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum)
  3066. ;
  3067.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3068.         IMPORT_CFM_FUNCTION HOpen
  3069.     ENDIF
  3070.  
  3071. ;
  3072. ; pascal OSErr HOpenDF(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum)
  3073. ;
  3074.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3075.         IMPORT_CFM_FUNCTION HOpenDF
  3076.     ENDIF
  3077.  
  3078. ;
  3079. ; pascal OSErr HOpenRF(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum)
  3080. ;
  3081.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3082.         IMPORT_CFM_FUNCTION HOpenRF
  3083.     ENDIF
  3084.  
  3085. ;
  3086. ; pascal OSErr AllocContig(short refNum, long *count)
  3087. ;
  3088.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3089.         IMPORT_CFM_FUNCTION AllocContig
  3090.     ENDIF
  3091.  
  3092. ;
  3093. ; pascal OSErr HCreate(short vRefNum, long dirID, ConstStr255Param fileName, OSType creator, OSType fileType)
  3094. ;
  3095.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3096.         IMPORT_CFM_FUNCTION HCreate
  3097.     ENDIF
  3098.  
  3099. ;
  3100. ; pascal OSErr DirCreate(short vRefNum, long parentDirID, ConstStr255Param directoryName, long *createdDirID)
  3101. ;
  3102.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3103.         IMPORT_CFM_FUNCTION DirCreate
  3104.     ENDIF
  3105.  
  3106. ;
  3107. ; pascal OSErr HDelete(short vRefNum, long dirID, ConstStr255Param fileName)
  3108. ;
  3109.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3110.         IMPORT_CFM_FUNCTION HDelete
  3111.     ENDIF
  3112.  
  3113. ;
  3114. ; pascal OSErr HGetFInfo(short vRefNum, long dirID, ConstStr255Param fileName, FInfo *fndrInfo)
  3115. ;
  3116.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3117.         IMPORT_CFM_FUNCTION HGetFInfo
  3118.     ENDIF
  3119.  
  3120. ;
  3121. ; pascal OSErr HSetFInfo(short vRefNum, long dirID, ConstStr255Param fileName, const FInfo *fndrInfo)
  3122. ;
  3123.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3124.         IMPORT_CFM_FUNCTION HSetFInfo
  3125.     ENDIF
  3126.  
  3127. ;
  3128. ; pascal OSErr HSetFLock(short vRefNum, long dirID, ConstStr255Param fileName)
  3129. ;
  3130.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3131.         IMPORT_CFM_FUNCTION HSetFLock
  3132.     ENDIF
  3133.  
  3134. ;
  3135. ; pascal OSErr HRstFLock(short vRefNum, long dirID, ConstStr255Param fileName)
  3136. ;
  3137.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3138.         IMPORT_CFM_FUNCTION HRstFLock
  3139.     ENDIF
  3140.  
  3141. ;
  3142. ; pascal OSErr HRename(short vRefNum, long dirID, ConstStr255Param oldName, ConstStr255Param newName)
  3143. ;
  3144.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3145.         IMPORT_CFM_FUNCTION HRename
  3146.     ENDIF
  3147.  
  3148. ;
  3149. ; pascal OSErr CatMove(short vRefNum, long dirID, ConstStr255Param oldName, long newDirID, ConstStr255Param newName)
  3150. ;
  3151.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3152.         IMPORT_CFM_FUNCTION CatMove
  3153.     ENDIF
  3154.  
  3155. ;
  3156. ; pascal OSErr OpenWD(short vRefNum, long dirID, long procID, short *wdRefNum)
  3157. ;
  3158.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3159.         IMPORT_CFM_FUNCTION OpenWD
  3160.     ENDIF
  3161.  
  3162. ;
  3163. ; pascal OSErr CloseWD(short wdRefNum)
  3164. ;
  3165.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3166.         IMPORT_CFM_FUNCTION CloseWD
  3167.     ENDIF
  3168.  
  3169. ;
  3170. ; pascal OSErr GetWDInfo(short wdRefNum, short *vRefNum, long *dirID, long *procID)
  3171. ;
  3172.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3173.         IMPORT_CFM_FUNCTION GetWDInfo
  3174.     ENDIF
  3175.  
  3176. ;   shared environment  
  3177. ;
  3178. ; pascal OSErr PBHGetVolParmsSync(HParmBlkPtr paramBlock)
  3179. ;
  3180.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3181.         ; parameters:
  3182.         ;    paramBlock      => A0
  3183.         ; returns:
  3184.         ;    OSErr           <= D0
  3185.         Macro
  3186.         _PBHGetVolParmsSync
  3187.             moveq               #48,D0
  3188.             dc.w                $A260
  3189.         EndM
  3190.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3191.         IMPORT_CFM_FUNCTION PBHGetVolParmsSync
  3192.     ENDIF
  3193.  
  3194. ;
  3195. ; pascal OSErr PBHGetVolParmsAsync(HParmBlkPtr paramBlock)
  3196. ;
  3197.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3198.         ; parameters:
  3199.         ;    paramBlock      => A0
  3200.         ; returns:
  3201.         ;    OSErr           <= D0
  3202.         Macro
  3203.         _PBHGetVolParmsAsync
  3204.             moveq               #48,D0
  3205.             dc.w                $A660
  3206.         EndM
  3207.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3208.         IMPORT_CFM_FUNCTION PBHGetVolParmsAsync
  3209.     ENDIF
  3210.  
  3211. ;
  3212. ; pascal OSErr PBHGetLogInInfoSync(HParmBlkPtr paramBlock)
  3213. ;
  3214.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3215.         ; parameters:
  3216.         ;    paramBlock      => A0
  3217.         ; returns:
  3218.         ;    OSErr           <= D0
  3219.         Macro
  3220.         _PBHGetLogInInfoSync
  3221.             moveq               #49,D0
  3222.             dc.w                $A260
  3223.         EndM
  3224.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3225.         IMPORT_CFM_FUNCTION PBHGetLogInInfoSync
  3226.     ENDIF
  3227.  
  3228. ;
  3229. ; pascal OSErr PBHGetLogInInfoAsync(HParmBlkPtr paramBlock)
  3230. ;
  3231.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3232.         ; parameters:
  3233.         ;    paramBlock      => A0
  3234.         ; returns:
  3235.         ;    OSErr           <= D0
  3236.         Macro
  3237.         _PBHGetLogInInfoAsync
  3238.             moveq               #49,D0
  3239.             dc.w                $A660
  3240.         EndM
  3241.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3242.         IMPORT_CFM_FUNCTION PBHGetLogInInfoAsync
  3243.     ENDIF
  3244.  
  3245. ;
  3246. ; pascal OSErr PBHGetDirAccessSync(HParmBlkPtr paramBlock)
  3247. ;
  3248.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3249.         ; parameters:
  3250.         ;    paramBlock      => A0
  3251.         ; returns:
  3252.         ;    OSErr           <= D0
  3253.         Macro
  3254.         _PBHGetDirAccessSync
  3255.             moveq               #50,D0
  3256.             dc.w                $A260
  3257.         EndM
  3258.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3259.         IMPORT_CFM_FUNCTION PBHGetDirAccessSync
  3260.     ENDIF
  3261.  
  3262. ;
  3263. ; pascal OSErr PBHGetDirAccessAsync(HParmBlkPtr paramBlock)
  3264. ;
  3265.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3266.         ; parameters:
  3267.         ;    paramBlock      => A0
  3268.         ; returns:
  3269.         ;    OSErr           <= D0
  3270.         Macro
  3271.         _PBHGetDirAccessAsync
  3272.             moveq               #50,D0
  3273.             dc.w                $A660
  3274.         EndM
  3275.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3276.         IMPORT_CFM_FUNCTION PBHGetDirAccessAsync
  3277.     ENDIF
  3278.  
  3279. ;
  3280. ; pascal OSErr PBHSetDirAccessSync(HParmBlkPtr paramBlock)
  3281. ;
  3282.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3283.         ; parameters:
  3284.         ;    paramBlock      => A0
  3285.         ; returns:
  3286.         ;    OSErr           <= D0
  3287.         Macro
  3288.         _PBHSetDirAccessSync
  3289.             moveq               #51,D0
  3290.             dc.w                $A260
  3291.         EndM
  3292.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3293.         IMPORT_CFM_FUNCTION PBHSetDirAccessSync
  3294.     ENDIF
  3295.  
  3296. ;
  3297. ; pascal OSErr PBHSetDirAccessAsync(HParmBlkPtr paramBlock)
  3298. ;
  3299.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3300.         ; parameters:
  3301.         ;    paramBlock      => A0
  3302.         ; returns:
  3303.         ;    OSErr           <= D0
  3304.         Macro
  3305.         _PBHSetDirAccessAsync
  3306.             moveq               #51,D0
  3307.             dc.w                $A660
  3308.         EndM
  3309.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3310.         IMPORT_CFM_FUNCTION PBHSetDirAccessAsync
  3311.     ENDIF
  3312.  
  3313. ;
  3314. ; pascal OSErr PBHMapIDSync(HParmBlkPtr paramBlock)
  3315. ;
  3316.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3317.         ; parameters:
  3318.         ;    paramBlock      => A0
  3319.         ; returns:
  3320.         ;    OSErr           <= D0
  3321.         Macro
  3322.         _PBHMapIDSync
  3323.             moveq               #52,D0
  3324.             dc.w                $A260
  3325.         EndM
  3326.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3327.         IMPORT_CFM_FUNCTION PBHMapIDSync
  3328.     ENDIF
  3329.  
  3330. ;
  3331. ; pascal OSErr PBHMapIDAsync(HParmBlkPtr paramBlock)
  3332. ;
  3333.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3334.         ; parameters:
  3335.         ;    paramBlock      => A0
  3336.         ; returns:
  3337.         ;    OSErr           <= D0
  3338.         Macro
  3339.         _PBHMapIDAsync
  3340.             moveq               #52,D0
  3341.             dc.w                $A660
  3342.         EndM
  3343.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3344.         IMPORT_CFM_FUNCTION PBHMapIDAsync
  3345.     ENDIF
  3346.  
  3347. ;
  3348. ; pascal OSErr PBHMapNameSync(HParmBlkPtr paramBlock)
  3349. ;
  3350.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3351.         ; parameters:
  3352.         ;    paramBlock      => A0
  3353.         ; returns:
  3354.         ;    OSErr           <= D0
  3355.         Macro
  3356.         _PBHMapNameSync
  3357.             moveq               #53,D0
  3358.             dc.w                $A260
  3359.         EndM
  3360.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3361.         IMPORT_CFM_FUNCTION PBHMapNameSync
  3362.     ENDIF
  3363.  
  3364. ;
  3365. ; pascal OSErr PBHMapNameAsync(HParmBlkPtr paramBlock)
  3366. ;
  3367.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3368.         ; parameters:
  3369.         ;    paramBlock      => A0
  3370.         ; returns:
  3371.         ;    OSErr           <= D0
  3372.         Macro
  3373.         _PBHMapNameAsync
  3374.             moveq               #53,D0
  3375.             dc.w                $A660
  3376.         EndM
  3377.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3378.         IMPORT_CFM_FUNCTION PBHMapNameAsync
  3379.     ENDIF
  3380.  
  3381. ;
  3382. ; pascal OSErr PBHCopyFileSync(HParmBlkPtr paramBlock)
  3383. ;
  3384.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3385.         ; parameters:
  3386.         ;    paramBlock      => A0
  3387.         ; returns:
  3388.         ;    OSErr           <= D0
  3389.         Macro
  3390.         _PBHCopyFileSync
  3391.             moveq               #54,D0
  3392.             dc.w                $A260
  3393.         EndM
  3394.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3395.         IMPORT_CFM_FUNCTION PBHCopyFileSync
  3396.     ENDIF
  3397.  
  3398. ;
  3399. ; pascal OSErr PBHCopyFileAsync(HParmBlkPtr paramBlock)
  3400. ;
  3401.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3402.         ; parameters:
  3403.         ;    paramBlock      => A0
  3404.         ; returns:
  3405.         ;    OSErr           <= D0
  3406.         Macro
  3407.         _PBHCopyFileAsync
  3408.             moveq               #54,D0
  3409.             dc.w                $A660
  3410.         EndM
  3411.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3412.         IMPORT_CFM_FUNCTION PBHCopyFileAsync
  3413.     ENDIF
  3414.  
  3415. ;
  3416. ; pascal OSErr PBHMoveRenameSync(HParmBlkPtr paramBlock)
  3417. ;
  3418.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3419.         ; parameters:
  3420.         ;    paramBlock      => A0
  3421.         ; returns:
  3422.         ;    OSErr           <= D0
  3423.         Macro
  3424.         _PBHMoveRenameSync
  3425.             moveq               #55,D0
  3426.             dc.w                $A260
  3427.         EndM
  3428.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3429.         IMPORT_CFM_FUNCTION PBHMoveRenameSync
  3430.     ENDIF
  3431.  
  3432. ;
  3433. ; pascal OSErr PBHMoveRenameAsync(HParmBlkPtr paramBlock)
  3434. ;
  3435.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3436.         ; parameters:
  3437.         ;    paramBlock      => A0
  3438.         ; returns:
  3439.         ;    OSErr           <= D0
  3440.         Macro
  3441.         _PBHMoveRenameAsync
  3442.             moveq               #55,D0
  3443.             dc.w                $A660
  3444.         EndM
  3445.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3446.         IMPORT_CFM_FUNCTION PBHMoveRenameAsync
  3447.     ENDIF
  3448.  
  3449. ;
  3450. ; pascal OSErr PBHOpenDenySync(HParmBlkPtr paramBlock)
  3451. ;
  3452.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3453.         ; parameters:
  3454.         ;    paramBlock      => A0
  3455.         ; returns:
  3456.         ;    OSErr           <= D0
  3457.         Macro
  3458.         _PBHOpenDenySync
  3459.             moveq               #56,D0
  3460.             dc.w                $A260
  3461.         EndM
  3462.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3463.         IMPORT_CFM_FUNCTION PBHOpenDenySync
  3464.     ENDIF
  3465.  
  3466. ;
  3467. ; pascal OSErr PBHOpenDenyAsync(HParmBlkPtr paramBlock)
  3468. ;
  3469.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3470.         ; parameters:
  3471.         ;    paramBlock      => A0
  3472.         ; returns:
  3473.         ;    OSErr           <= D0
  3474.         Macro
  3475.         _PBHOpenDenyAsync
  3476.             moveq               #56,D0
  3477.             dc.w                $A660
  3478.         EndM
  3479.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3480.         IMPORT_CFM_FUNCTION PBHOpenDenyAsync
  3481.     ENDIF
  3482.  
  3483. ;
  3484. ; pascal OSErr PBHOpenRFDenySync(HParmBlkPtr paramBlock)
  3485. ;
  3486.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3487.         ; parameters:
  3488.         ;    paramBlock      => A0
  3489.         ; returns:
  3490.         ;    OSErr           <= D0
  3491.         Macro
  3492.         _PBHOpenRFDenySync
  3493.             moveq               #57,D0
  3494.             dc.w                $A260
  3495.         EndM
  3496.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3497.         IMPORT_CFM_FUNCTION PBHOpenRFDenySync
  3498.     ENDIF
  3499.  
  3500. ;
  3501. ; pascal OSErr PBHOpenRFDenyAsync(HParmBlkPtr paramBlock)
  3502. ;
  3503.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3504.         ; parameters:
  3505.         ;    paramBlock      => A0
  3506.         ; returns:
  3507.         ;    OSErr           <= D0
  3508.         Macro
  3509.         _PBHOpenRFDenyAsync
  3510.             moveq               #57,D0
  3511.             dc.w                $A660
  3512.         EndM
  3513.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3514.         IMPORT_CFM_FUNCTION PBHOpenRFDenyAsync
  3515.     ENDIF
  3516.  
  3517. ;
  3518. ; pascal OSErr PBGetXCatInfoSync(XCInfoPBPtr paramBlock)
  3519. ;
  3520.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3521.         ; parameters:
  3522.         ;    paramBlock      => A0
  3523.         ; returns:
  3524.         ;    OSErr           <= D0
  3525.         Macro
  3526.         _PBGetXCatInfoSync
  3527.             moveq               #58,D0
  3528.             dc.w                $A260
  3529.         EndM
  3530.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3531.         IMPORT_CFM_FUNCTION PBGetXCatInfoSync
  3532.     ENDIF
  3533.  
  3534. ;
  3535. ; pascal OSErr PBGetXCatInfoAsync(XCInfoPBPtr paramBlock)
  3536. ;
  3537.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3538.         ; parameters:
  3539.         ;    paramBlock      => A0
  3540.         ; returns:
  3541.         ;    OSErr           <= D0
  3542.         Macro
  3543.         _PBGetXCatInfoAsync
  3544.             moveq               #58,D0
  3545.             dc.w                $A660
  3546.         EndM
  3547.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3548.         IMPORT_CFM_FUNCTION PBGetXCatInfoAsync
  3549.     ENDIF
  3550.  
  3551. ;
  3552. ; pascal OSErr PBExchangeFilesSync(HParmBlkPtr paramBlock)
  3553. ;
  3554.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3555.         ; parameters:
  3556.         ;    paramBlock      => A0
  3557.         ; returns:
  3558.         ;    OSErr           <= D0
  3559.         Macro
  3560.         _PBExchangeFilesSync
  3561.             moveq               #23,D0
  3562.             dc.w                $A260
  3563.         EndM
  3564.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3565.         IMPORT_CFM_FUNCTION PBExchangeFilesSync
  3566.     ENDIF
  3567.  
  3568. ;
  3569. ; pascal OSErr PBExchangeFilesAsync(HParmBlkPtr paramBlock)
  3570. ;
  3571.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3572.         ; parameters:
  3573.         ;    paramBlock      => A0
  3574.         ; returns:
  3575.         ;    OSErr           <= D0
  3576.         Macro
  3577.         _PBExchangeFilesAsync
  3578.             moveq               #23,D0
  3579.             dc.w                $A660
  3580.         EndM
  3581.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3582.         IMPORT_CFM_FUNCTION PBExchangeFilesAsync
  3583.     ENDIF
  3584.  
  3585. ;
  3586. ; pascal OSErr PBCreateFileIDRefSync(HParmBlkPtr paramBlock)
  3587. ;
  3588.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3589.         ; parameters:
  3590.         ;    paramBlock      => A0
  3591.         ; returns:
  3592.         ;    OSErr           <= D0
  3593.         Macro
  3594.         _PBCreateFileIDRefSync
  3595.             moveq               #20,D0
  3596.             dc.w                $A260
  3597.         EndM
  3598.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3599.         IMPORT_CFM_FUNCTION PBCreateFileIDRefSync
  3600.     ENDIF
  3601.  
  3602. ;
  3603. ; pascal OSErr PBCreateFileIDRefAsync(HParmBlkPtr paramBlock)
  3604. ;
  3605.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3606.         ; parameters:
  3607.         ;    paramBlock      => A0
  3608.         ; returns:
  3609.         ;    OSErr           <= D0
  3610.         Macro
  3611.         _PBCreateFileIDRefAsync
  3612.             moveq               #20,D0
  3613.             dc.w                $A660
  3614.         EndM
  3615.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3616.         IMPORT_CFM_FUNCTION PBCreateFileIDRefAsync
  3617.     ENDIF
  3618.  
  3619. ;
  3620. ; pascal OSErr PBResolveFileIDRefSync(HParmBlkPtr paramBlock)
  3621. ;
  3622.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3623.         ; parameters:
  3624.         ;    paramBlock      => A0
  3625.         ; returns:
  3626.         ;    OSErr           <= D0
  3627.         Macro
  3628.         _PBResolveFileIDRefSync
  3629.             moveq               #22,D0
  3630.             dc.w                $A260
  3631.         EndM
  3632.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3633.         IMPORT_CFM_FUNCTION PBResolveFileIDRefSync
  3634.     ENDIF
  3635.  
  3636. ;
  3637. ; pascal OSErr PBResolveFileIDRefAsync(HParmBlkPtr paramBlock)
  3638. ;
  3639.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3640.         ; parameters:
  3641.         ;    paramBlock      => A0
  3642.         ; returns:
  3643.         ;    OSErr           <= D0
  3644.         Macro
  3645.         _PBResolveFileIDRefAsync
  3646.             moveq               #22,D0
  3647.             dc.w                $A660
  3648.         EndM
  3649.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3650.         IMPORT_CFM_FUNCTION PBResolveFileIDRefAsync
  3651.     ENDIF
  3652.  
  3653. ;
  3654. ; pascal OSErr PBDeleteFileIDRefSync(HParmBlkPtr paramBlock)
  3655. ;
  3656.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3657.         ; parameters:
  3658.         ;    paramBlock      => A0
  3659.         ; returns:
  3660.         ;    OSErr           <= D0
  3661.         Macro
  3662.         _PBDeleteFileIDRefSync
  3663.             moveq               #21,D0
  3664.             dc.w                $A260
  3665.         EndM
  3666.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3667.         IMPORT_CFM_FUNCTION PBDeleteFileIDRefSync
  3668.     ENDIF
  3669.  
  3670. ;
  3671. ; pascal OSErr PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock)
  3672. ;
  3673.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3674.         ; parameters:
  3675.         ;    paramBlock      => A0
  3676.         ; returns:
  3677.         ;    OSErr           <= D0
  3678.         Macro
  3679.         _PBDeleteFileIDRefAsync
  3680.             moveq               #21,D0
  3681.             dc.w                $A660
  3682.         EndM
  3683.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3684.         IMPORT_CFM_FUNCTION PBDeleteFileIDRefAsync
  3685.     ENDIF
  3686.  
  3687. ;
  3688. ; pascal OSErr PBGetForeignPrivsSync(HParmBlkPtr paramBlock)
  3689. ;
  3690.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3691.         ; parameters:
  3692.         ;    paramBlock      => A0
  3693.         ; returns:
  3694.         ;    OSErr           <= D0
  3695.         Macro
  3696.         _PBGetForeignPrivsSync
  3697.             moveq               #96,D0
  3698.             dc.w                $A260
  3699.         EndM
  3700.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3701.         IMPORT_CFM_FUNCTION PBGetForeignPrivsSync
  3702.     ENDIF
  3703.  
  3704. ;
  3705. ; pascal OSErr PBGetForeignPrivsAsync(HParmBlkPtr paramBlock)
  3706. ;
  3707.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3708.         ; parameters:
  3709.         ;    paramBlock      => A0
  3710.         ; returns:
  3711.         ;    OSErr           <= D0
  3712.         Macro
  3713.         _PBGetForeignPrivsAsync
  3714.             moveq               #96,D0
  3715.             dc.w                $A660
  3716.         EndM
  3717.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3718.         IMPORT_CFM_FUNCTION PBGetForeignPrivsAsync
  3719.     ENDIF
  3720.  
  3721. ;
  3722. ; pascal OSErr PBSetForeignPrivsSync(HParmBlkPtr paramBlock)
  3723. ;
  3724.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3725.         ; parameters:
  3726.         ;    paramBlock      => A0
  3727.         ; returns:
  3728.         ;    OSErr           <= D0
  3729.         Macro
  3730.         _PBSetForeignPrivsSync
  3731.             moveq               #97,D0
  3732.             dc.w                $A260
  3733.         EndM
  3734.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3735.         IMPORT_CFM_FUNCTION PBSetForeignPrivsSync
  3736.     ENDIF
  3737.  
  3738. ;
  3739. ; pascal OSErr PBSetForeignPrivsAsync(HParmBlkPtr paramBlock)
  3740. ;
  3741.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3742.         ; parameters:
  3743.         ;    paramBlock      => A0
  3744.         ; returns:
  3745.         ;    OSErr           <= D0
  3746.         Macro
  3747.         _PBSetForeignPrivsAsync
  3748.             moveq               #97,D0
  3749.             dc.w                $A660
  3750.         EndM
  3751.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3752.         IMPORT_CFM_FUNCTION PBSetForeignPrivsAsync
  3753.     ENDIF
  3754.  
  3755. ;   Desktop Manager  
  3756. ;
  3757. ; pascal OSErr PBDTGetPath(DTPBPtr paramBlock)
  3758. ;
  3759.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3760.         ; parameters:
  3761.         ;    paramBlock      => A0
  3762.         ; returns:
  3763.         ;    OSErr           <= D0
  3764.         Macro
  3765.         _PBDTGetPath
  3766.             moveq               #32,D0
  3767.             dc.w                $A260
  3768.         EndM
  3769.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3770.         IMPORT_CFM_FUNCTION PBDTGetPath
  3771.     ENDIF
  3772.  
  3773. ;
  3774. ; pascal OSErr PBDTCloseDown(DTPBPtr paramBlock)
  3775. ;
  3776.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3777.         ; parameters:
  3778.         ;    paramBlock      => A0
  3779.         ; returns:
  3780.         ;    OSErr           <= D0
  3781.         Macro
  3782.         _PBDTCloseDown
  3783.             moveq               #33,D0
  3784.             dc.w                $A260
  3785.         EndM
  3786.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3787.         IMPORT_CFM_FUNCTION PBDTCloseDown
  3788.     ENDIF
  3789.  
  3790. ;
  3791. ; pascal OSErr PBDTAddIconSync(DTPBPtr paramBlock)
  3792. ;
  3793.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3794.         ; parameters:
  3795.         ;    paramBlock      => A0
  3796.         ; returns:
  3797.         ;    OSErr           <= D0
  3798.         Macro
  3799.         _PBDTAddIconSync
  3800.             moveq               #34,D0
  3801.             dc.w                $A260
  3802.         EndM
  3803.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3804.         IMPORT_CFM_FUNCTION PBDTAddIconSync
  3805.     ENDIF
  3806.  
  3807. ;
  3808. ; pascal OSErr PBDTAddIconAsync(DTPBPtr paramBlock)
  3809. ;
  3810.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3811.         ; parameters:
  3812.         ;    paramBlock      => A0
  3813.         ; returns:
  3814.         ;    OSErr           <= D0
  3815.         Macro
  3816.         _PBDTAddIconAsync
  3817.             moveq               #34,D0
  3818.             dc.w                $A660
  3819.         EndM
  3820.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3821.         IMPORT_CFM_FUNCTION PBDTAddIconAsync
  3822.     ENDIF
  3823.  
  3824. ;
  3825. ; pascal OSErr PBDTGetIconSync(DTPBPtr paramBlock)
  3826. ;
  3827.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3828.         ; parameters:
  3829.         ;    paramBlock      => A0
  3830.         ; returns:
  3831.         ;    OSErr           <= D0
  3832.         Macro
  3833.         _PBDTGetIconSync
  3834.             moveq               #35,D0
  3835.             dc.w                $A260
  3836.         EndM
  3837.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3838.         IMPORT_CFM_FUNCTION PBDTGetIconSync
  3839.     ENDIF
  3840.  
  3841. ;
  3842. ; pascal OSErr PBDTGetIconAsync(DTPBPtr paramBlock)
  3843. ;
  3844.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3845.         ; parameters:
  3846.         ;    paramBlock      => A0
  3847.         ; returns:
  3848.         ;    OSErr           <= D0
  3849.         Macro
  3850.         _PBDTGetIconAsync
  3851.             moveq               #35,D0
  3852.             dc.w                $A660
  3853.         EndM
  3854.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3855.         IMPORT_CFM_FUNCTION PBDTGetIconAsync
  3856.     ENDIF
  3857.  
  3858. ;
  3859. ; pascal OSErr PBDTGetIconInfoSync(DTPBPtr paramBlock)
  3860. ;
  3861.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3862.         ; parameters:
  3863.         ;    paramBlock      => A0
  3864.         ; returns:
  3865.         ;    OSErr           <= D0
  3866.         Macro
  3867.         _PBDTGetIconInfoSync
  3868.             moveq               #36,D0
  3869.             dc.w                $A260
  3870.         EndM
  3871.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3872.         IMPORT_CFM_FUNCTION PBDTGetIconInfoSync
  3873.     ENDIF
  3874.  
  3875. ;
  3876. ; pascal OSErr PBDTGetIconInfoAsync(DTPBPtr paramBlock)
  3877. ;
  3878.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3879.         ; parameters:
  3880.         ;    paramBlock      => A0
  3881.         ; returns:
  3882.         ;    OSErr           <= D0
  3883.         Macro
  3884.         _PBDTGetIconInfoAsync
  3885.             moveq               #36,D0
  3886.             dc.w                $A660
  3887.         EndM
  3888.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3889.         IMPORT_CFM_FUNCTION PBDTGetIconInfoAsync
  3890.     ENDIF
  3891.  
  3892. ;
  3893. ; pascal OSErr PBDTAddAPPLSync(DTPBPtr paramBlock)
  3894. ;
  3895.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3896.         ; parameters:
  3897.         ;    paramBlock      => A0
  3898.         ; returns:
  3899.         ;    OSErr           <= D0
  3900.         Macro
  3901.         _PBDTAddAPPLSync
  3902.             moveq               #37,D0
  3903.             dc.w                $A260
  3904.         EndM
  3905.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3906.         IMPORT_CFM_FUNCTION PBDTAddAPPLSync
  3907.     ENDIF
  3908.  
  3909. ;
  3910. ; pascal OSErr PBDTAddAPPLAsync(DTPBPtr paramBlock)
  3911. ;
  3912.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3913.         ; parameters:
  3914.         ;    paramBlock      => A0
  3915.         ; returns:
  3916.         ;    OSErr           <= D0
  3917.         Macro
  3918.         _PBDTAddAPPLAsync
  3919.             moveq               #37,D0
  3920.             dc.w                $A660
  3921.         EndM
  3922.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3923.         IMPORT_CFM_FUNCTION PBDTAddAPPLAsync
  3924.     ENDIF
  3925.  
  3926. ;
  3927. ; pascal OSErr PBDTRemoveAPPLSync(DTPBPtr paramBlock)
  3928. ;
  3929.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3930.         ; parameters:
  3931.         ;    paramBlock      => A0
  3932.         ; returns:
  3933.         ;    OSErr           <= D0
  3934.         Macro
  3935.         _PBDTRemoveAPPLSync
  3936.             moveq               #38,D0
  3937.             dc.w                $A260
  3938.         EndM
  3939.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3940.         IMPORT_CFM_FUNCTION PBDTRemoveAPPLSync
  3941.     ENDIF
  3942.  
  3943. ;
  3944. ; pascal OSErr PBDTRemoveAPPLAsync(DTPBPtr paramBlock)
  3945. ;
  3946.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3947.         ; parameters:
  3948.         ;    paramBlock      => A0
  3949.         ; returns:
  3950.         ;    OSErr           <= D0
  3951.         Macro
  3952.         _PBDTRemoveAPPLAsync
  3953.             moveq               #38,D0
  3954.             dc.w                $A660
  3955.         EndM
  3956.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3957.         IMPORT_CFM_FUNCTION PBDTRemoveAPPLAsync
  3958.     ENDIF
  3959.  
  3960. ;
  3961. ; pascal OSErr PBDTGetAPPLSync(DTPBPtr paramBlock)
  3962. ;
  3963.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3964.         ; parameters:
  3965.         ;    paramBlock      => A0
  3966.         ; returns:
  3967.         ;    OSErr           <= D0
  3968.         Macro
  3969.         _PBDTGetAPPLSync
  3970.             moveq               #39,D0
  3971.             dc.w                $A260
  3972.         EndM
  3973.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3974.         IMPORT_CFM_FUNCTION PBDTGetAPPLSync
  3975.     ENDIF
  3976.  
  3977. ;
  3978. ; pascal OSErr PBDTGetAPPLAsync(DTPBPtr paramBlock)
  3979. ;
  3980.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3981.         ; parameters:
  3982.         ;    paramBlock      => A0
  3983.         ; returns:
  3984.         ;    OSErr           <= D0
  3985.         Macro
  3986.         _PBDTGetAPPLAsync
  3987.             moveq               #39,D0
  3988.             dc.w                $A660
  3989.         EndM
  3990.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3991.         IMPORT_CFM_FUNCTION PBDTGetAPPLAsync
  3992.     ENDIF
  3993.  
  3994. ;
  3995. ; pascal OSErr PBDTSetCommentSync(DTPBPtr paramBlock)
  3996. ;
  3997.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3998.         ; parameters:
  3999.         ;    paramBlock      => A0
  4000.         ; returns:
  4001.         ;    OSErr           <= D0
  4002.         Macro
  4003.         _PBDTSetCommentSync
  4004.             moveq               #40,D0
  4005.             dc.w                $A260
  4006.         EndM
  4007.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4008.         IMPORT_CFM_FUNCTION PBDTSetCommentSync
  4009.     ENDIF
  4010.  
  4011. ;
  4012. ; pascal OSErr PBDTSetCommentAsync(DTPBPtr paramBlock)
  4013. ;
  4014.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4015.         ; parameters:
  4016.         ;    paramBlock      => A0
  4017.         ; returns:
  4018.         ;    OSErr           <= D0
  4019.         Macro
  4020.         _PBDTSetCommentAsync
  4021.             moveq               #40,D0
  4022.             dc.w                $A660
  4023.         EndM
  4024.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4025.         IMPORT_CFM_FUNCTION PBDTSetCommentAsync
  4026.     ENDIF
  4027.  
  4028. ;
  4029. ; pascal OSErr PBDTRemoveCommentSync(DTPBPtr paramBlock)
  4030. ;
  4031.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4032.         ; parameters:
  4033.         ;    paramBlock      => A0
  4034.         ; returns:
  4035.         ;    OSErr           <= D0
  4036.         Macro
  4037.         _PBDTRemoveCommentSync
  4038.             moveq               #41,D0
  4039.             dc.w                $A260
  4040.         EndM
  4041.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4042.         IMPORT_CFM_FUNCTION PBDTRemoveCommentSync
  4043.     ENDIF
  4044.  
  4045. ;
  4046. ; pascal OSErr PBDTRemoveCommentAsync(DTPBPtr paramBlock)
  4047. ;
  4048.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4049.         ; parameters:
  4050.         ;    paramBlock      => A0
  4051.         ; returns:
  4052.         ;    OSErr           <= D0
  4053.         Macro
  4054.         _PBDTRemoveCommentAsync
  4055.             moveq               #41,D0
  4056.             dc.w                $A660
  4057.         EndM
  4058.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4059.         IMPORT_CFM_FUNCTION PBDTRemoveCommentAsync
  4060.     ENDIF
  4061.  
  4062. ;
  4063. ; pascal OSErr PBDTGetCommentSync(DTPBPtr paramBlock)
  4064. ;
  4065.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4066.         ; parameters:
  4067.         ;    paramBlock      => A0
  4068.         ; returns:
  4069.         ;    OSErr           <= D0
  4070.         Macro
  4071.         _PBDTGetCommentSync
  4072.             moveq               #42,D0
  4073.             dc.w                $A260
  4074.         EndM
  4075.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4076.         IMPORT_CFM_FUNCTION PBDTGetCommentSync
  4077.     ENDIF
  4078.  
  4079. ;
  4080. ; pascal OSErr PBDTGetCommentAsync(DTPBPtr paramBlock)
  4081. ;
  4082.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4083.         ; parameters:
  4084.         ;    paramBlock      => A0
  4085.         ; returns:
  4086.         ;    OSErr           <= D0
  4087.         Macro
  4088.         _PBDTGetCommentAsync
  4089.             moveq               #42,D0
  4090.             dc.w                $A660
  4091.         EndM
  4092.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4093.         IMPORT_CFM_FUNCTION PBDTGetCommentAsync
  4094.     ENDIF
  4095.  
  4096. ;
  4097. ; pascal OSErr PBDTFlushSync(DTPBPtr paramBlock)
  4098. ;
  4099.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4100.         ; parameters:
  4101.         ;    paramBlock      => A0
  4102.         ; returns:
  4103.         ;    OSErr           <= D0
  4104.         Macro
  4105.         _PBDTFlushSync
  4106.             moveq               #43,D0
  4107.             dc.w                $A260
  4108.         EndM
  4109.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4110.         IMPORT_CFM_FUNCTION PBDTFlushSync
  4111.     ENDIF
  4112.  
  4113. ;
  4114. ; pascal OSErr PBDTFlushAsync(DTPBPtr paramBlock)
  4115. ;
  4116.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4117.         ; parameters:
  4118.         ;    paramBlock      => A0
  4119.         ; returns:
  4120.         ;    OSErr           <= D0
  4121.         Macro
  4122.         _PBDTFlushAsync
  4123.             moveq               #43,D0
  4124.             dc.w                $A660
  4125.         EndM
  4126.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4127.         IMPORT_CFM_FUNCTION PBDTFlushAsync
  4128.     ENDIF
  4129.  
  4130. ;
  4131. ; pascal OSErr PBDTResetSync(DTPBPtr paramBlock)
  4132. ;
  4133.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4134.         ; parameters:
  4135.         ;    paramBlock      => A0
  4136.         ; returns:
  4137.         ;    OSErr           <= D0
  4138.         Macro
  4139.         _PBDTResetSync
  4140.             moveq               #44,D0
  4141.             dc.w                $A260
  4142.         EndM
  4143.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4144.         IMPORT_CFM_FUNCTION PBDTResetSync
  4145.     ENDIF
  4146.  
  4147. ;
  4148. ; pascal OSErr PBDTResetAsync(DTPBPtr paramBlock)
  4149. ;
  4150.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4151.         ; parameters:
  4152.         ;    paramBlock      => A0
  4153.         ; returns:
  4154.         ;    OSErr           <= D0
  4155.         Macro
  4156.         _PBDTResetAsync
  4157.             moveq               #44,D0
  4158.             dc.w                $A660
  4159.         EndM
  4160.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4161.         IMPORT_CFM_FUNCTION PBDTResetAsync
  4162.     ENDIF
  4163.  
  4164. ;
  4165. ; pascal OSErr PBDTGetInfoSync(DTPBPtr paramBlock)
  4166. ;
  4167.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4168.         ; parameters:
  4169.         ;    paramBlock      => A0
  4170.         ; returns:
  4171.         ;    OSErr           <= D0
  4172.         Macro
  4173.         _PBDTGetInfoSync
  4174.             moveq               #45,D0
  4175.             dc.w                $A260
  4176.         EndM
  4177.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4178.         IMPORT_CFM_FUNCTION PBDTGetInfoSync
  4179.     ENDIF
  4180.  
  4181. ;
  4182. ; pascal OSErr PBDTGetInfoAsync(DTPBPtr paramBlock)
  4183. ;
  4184.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4185.         ; parameters:
  4186.         ;    paramBlock      => A0
  4187.         ; returns:
  4188.         ;    OSErr           <= D0
  4189.         Macro
  4190.         _PBDTGetInfoAsync
  4191.             moveq               #45,D0
  4192.             dc.w                $A660
  4193.         EndM
  4194.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4195.         IMPORT_CFM_FUNCTION PBDTGetInfoAsync
  4196.     ENDIF
  4197.  
  4198. ;
  4199. ; pascal OSErr PBDTOpenInform(DTPBPtr paramBlock)
  4200. ;
  4201.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4202.         ; parameters:
  4203.         ;    paramBlock      => A0
  4204.         ; returns:
  4205.         ;    OSErr           <= D0
  4206.         Macro
  4207.         _PBDTOpenInform
  4208.             moveq               #46,D0
  4209.             dc.w                $A060
  4210.         EndM
  4211.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4212.         IMPORT_CFM_FUNCTION PBDTOpenInform
  4213.     ENDIF
  4214.  
  4215. ;
  4216. ; pascal OSErr PBDTDeleteSync(DTPBPtr paramBlock)
  4217. ;
  4218.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4219.         ; parameters:
  4220.         ;    paramBlock      => A0
  4221.         ; returns:
  4222.         ;    OSErr           <= D0
  4223.         Macro
  4224.         _PBDTDeleteSync
  4225.             moveq               #47,D0
  4226.             dc.w                $A060
  4227.         EndM
  4228.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4229.         IMPORT_CFM_FUNCTION PBDTDeleteSync
  4230.     ENDIF
  4231.  
  4232. ;
  4233. ; pascal OSErr PBDTDeleteAsync(DTPBPtr paramBlock)
  4234. ;
  4235.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4236.         ; parameters:
  4237.         ;    paramBlock      => A0
  4238.         ; returns:
  4239.         ;    OSErr           <= D0
  4240.         Macro
  4241.         _PBDTDeleteAsync
  4242.             moveq               #47,D0
  4243.             dc.w                $A460
  4244.         EndM
  4245.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4246.         IMPORT_CFM_FUNCTION PBDTDeleteAsync
  4247.     ENDIF
  4248.  
  4249. ;   VolumeMount traps  
  4250. ;
  4251. ; pascal OSErr PBGetVolMountInfoSize(ParmBlkPtr paramBlock)
  4252. ;
  4253.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4254.         ; parameters:
  4255.         ;    paramBlock      => A0
  4256.         ; returns:
  4257.         ;    OSErr           <= D0
  4258.         Macro
  4259.         _PBGetVolMountInfoSize
  4260.             moveq               #63,D0
  4261.             dc.w                $A260
  4262.         EndM
  4263.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4264.         IMPORT_CFM_FUNCTION PBGetVolMountInfoSize
  4265.     ENDIF
  4266.  
  4267. ;
  4268. ; pascal OSErr PBGetVolMountInfo(ParmBlkPtr paramBlock)
  4269. ;
  4270.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4271.         ; parameters:
  4272.         ;    paramBlock      => A0
  4273.         ; returns:
  4274.         ;    OSErr           <= D0
  4275.         Macro
  4276.         _PBGetVolMountInfo
  4277.             moveq               #64,D0
  4278.             dc.w                $A260
  4279.         EndM
  4280.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4281.         IMPORT_CFM_FUNCTION PBGetVolMountInfo
  4282.     ENDIF
  4283.  
  4284. ;
  4285. ; pascal OSErr PBVolumeMount(ParmBlkPtr paramBlock)
  4286. ;
  4287.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4288.         ; parameters:
  4289.         ;    paramBlock      => A0
  4290.         ; returns:
  4291.         ;    OSErr           <= D0
  4292.         Macro
  4293.         _PBVolumeMount
  4294.             moveq               #65,D0
  4295.             dc.w                $A260
  4296.         EndM
  4297.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4298.         IMPORT_CFM_FUNCTION PBVolumeMount
  4299.     ENDIF
  4300.  
  4301. ;   FSp traps  
  4302. ;
  4303. ; pascal OSErr FSMakeFSSpec(short vRefNum, long dirID, ConstStr255Param fileName, FSSpec *spec)
  4304. ;
  4305.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4306.         Macro
  4307.         _FSMakeFSSpec
  4308.             moveq               #1,D0
  4309.             dc.w                $AA52
  4310.         EndM
  4311.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4312.         IMPORT_CFM_FUNCTION FSMakeFSSpec
  4313.     ENDIF
  4314.  
  4315. ;
  4316. ; pascal OSErr FSpOpenDF(const FSSpec *spec, SInt8 permission, short *refNum)
  4317. ;
  4318.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4319.         Macro
  4320.         _FSpOpenDF
  4321.             moveq               #2,D0
  4322.             dc.w                $AA52
  4323.         EndM
  4324.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4325.         IMPORT_CFM_FUNCTION FSpOpenDF
  4326.     ENDIF
  4327.  
  4328. ;
  4329. ; pascal OSErr FSpOpenRF(const FSSpec *spec, SInt8 permission, short *refNum)
  4330. ;
  4331.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4332.         Macro
  4333.         _FSpOpenRF
  4334.             moveq               #3,D0
  4335.             dc.w                $AA52
  4336.         EndM
  4337.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4338.         IMPORT_CFM_FUNCTION FSpOpenRF
  4339.     ENDIF
  4340.  
  4341. ;
  4342. ; pascal OSErr FSpCreate(const FSSpec *spec, OSType creator, OSType fileType, ScriptCode scriptTag)
  4343. ;
  4344.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4345.         Macro
  4346.         _FSpCreate
  4347.             moveq               #4,D0
  4348.             dc.w                $AA52
  4349.         EndM
  4350.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4351.         IMPORT_CFM_FUNCTION FSpCreate
  4352.     ENDIF
  4353.  
  4354. ;
  4355. ; pascal OSErr FSpDirCreate(const FSSpec *spec, ScriptCode scriptTag, long *createdDirID)
  4356. ;
  4357.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4358.         Macro
  4359.         _FSpDirCreate
  4360.             moveq               #5,D0
  4361.             dc.w                $AA52
  4362.         EndM
  4363.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4364.         IMPORT_CFM_FUNCTION FSpDirCreate
  4365.     ENDIF
  4366.  
  4367. ;
  4368. ; pascal OSErr FSpDelete(const FSSpec *spec)
  4369. ;
  4370.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4371.         Macro
  4372.         _FSpDelete
  4373.             moveq               #6,D0
  4374.             dc.w                $AA52
  4375.         EndM
  4376.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4377.         IMPORT_CFM_FUNCTION FSpDelete
  4378.     ENDIF
  4379.  
  4380. ;
  4381. ; pascal OSErr FSpGetFInfo(const FSSpec *spec, FInfo *fndrInfo)
  4382. ;
  4383.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4384.         Macro
  4385.         _FSpGetFInfo
  4386.             moveq               #7,D0
  4387.             dc.w                $AA52
  4388.         EndM
  4389.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4390.         IMPORT_CFM_FUNCTION FSpGetFInfo
  4391.     ENDIF
  4392.  
  4393. ;
  4394. ; pascal OSErr FSpSetFInfo(const FSSpec *spec, const FInfo *fndrInfo)
  4395. ;
  4396.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4397.         Macro
  4398.         _FSpSetFInfo
  4399.             moveq               #8,D0
  4400.             dc.w                $AA52
  4401.         EndM
  4402.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4403.         IMPORT_CFM_FUNCTION FSpSetFInfo
  4404.     ENDIF
  4405.  
  4406. ;
  4407. ; pascal OSErr FSpSetFLock(const FSSpec *spec)
  4408. ;
  4409.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4410.         Macro
  4411.         _FSpSetFLock
  4412.             moveq               #9,D0
  4413.             dc.w                $AA52
  4414.         EndM
  4415.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4416.         IMPORT_CFM_FUNCTION FSpSetFLock
  4417.     ENDIF
  4418.  
  4419. ;
  4420. ; pascal OSErr FSpRstFLock(const FSSpec *spec)
  4421. ;
  4422.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4423.         Macro
  4424.         _FSpRstFLock
  4425.             moveq               #10,D0
  4426.             dc.w                $AA52
  4427.         EndM
  4428.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4429.         IMPORT_CFM_FUNCTION FSpRstFLock
  4430.     ENDIF
  4431.  
  4432. ;
  4433. ; pascal OSErr FSpRename(const FSSpec *spec, ConstStr255Param newName)
  4434. ;
  4435.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4436.         Macro
  4437.         _FSpRename
  4438.             moveq               #11,D0
  4439.             dc.w                $AA52
  4440.         EndM
  4441.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4442.         IMPORT_CFM_FUNCTION FSpRename
  4443.     ENDIF
  4444.  
  4445. ;
  4446. ; pascal OSErr FSpCatMove(const FSSpec *source, const FSSpec *dest)
  4447. ;
  4448.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4449.         Macro
  4450.         _FSpCatMove
  4451.             moveq               #12,D0
  4452.             dc.w                $AA52
  4453.         EndM
  4454.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4455.         IMPORT_CFM_FUNCTION FSpCatMove
  4456.     ENDIF
  4457.  
  4458. ;
  4459. ; pascal OSErr FSpExchangeFiles(const FSSpec *source, const FSSpec *dest)
  4460. ;
  4461.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4462.         Macro
  4463.         _FSpExchangeFiles
  4464.             moveq               #15,D0
  4465.             dc.w                $AA52
  4466.         EndM
  4467.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4468.         IMPORT_CFM_FUNCTION FSpExchangeFiles
  4469.     ENDIF
  4470.  
  4471.  
  4472. ;
  4473. ; pascal OSErr PBShareSync(HParmBlkPtr paramBlock)
  4474. ;
  4475.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4476.         ; parameters:
  4477.         ;    paramBlock      => A0
  4478.         ; returns:
  4479.         ;    OSErr           <= D0
  4480.         Macro
  4481.         _PBShareSync
  4482.             moveq               #66,D0
  4483.             dc.w                $A260
  4484.         EndM
  4485.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4486.         IMPORT_CFM_FUNCTION PBShareSync
  4487.     ENDIF
  4488.  
  4489. ;
  4490. ; pascal OSErr PBShareAsync(HParmBlkPtr paramBlock)
  4491. ;
  4492.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4493.         ; parameters:
  4494.         ;    paramBlock      => A0
  4495.         ; returns:
  4496.         ;    OSErr           <= D0
  4497.         Macro
  4498.         _PBShareAsync
  4499.             moveq               #66,D0
  4500.             dc.w                $A660
  4501.         EndM
  4502.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4503.         IMPORT_CFM_FUNCTION PBShareAsync
  4504.     ENDIF
  4505.  
  4506. ;
  4507. ; pascal OSErr PBUnshareSync(HParmBlkPtr paramBlock)
  4508. ;
  4509.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4510.         ; parameters:
  4511.         ;    paramBlock      => A0
  4512.         ; returns:
  4513.         ;    OSErr           <= D0
  4514.         Macro
  4515.         _PBUnshareSync
  4516.             moveq               #67,D0
  4517.             dc.w                $A260
  4518.         EndM
  4519.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4520.         IMPORT_CFM_FUNCTION PBUnshareSync
  4521.     ENDIF
  4522.  
  4523. ;
  4524. ; pascal OSErr PBUnshareAsync(HParmBlkPtr paramBlock)
  4525. ;
  4526.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4527.         ; parameters:
  4528.         ;    paramBlock      => A0
  4529.         ; returns:
  4530.         ;    OSErr           <= D0
  4531.         Macro
  4532.         _PBUnshareAsync
  4533.             moveq               #67,D0
  4534.             dc.w                $A660
  4535.         EndM
  4536.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4537.         IMPORT_CFM_FUNCTION PBUnshareAsync
  4538.     ENDIF
  4539.  
  4540. ;
  4541. ; pascal OSErr PBGetUGEntrySync(HParmBlkPtr paramBlock)
  4542. ;
  4543.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4544.         ; parameters:
  4545.         ;    paramBlock      => A0
  4546.         ; returns:
  4547.         ;    OSErr           <= D0
  4548.         Macro
  4549.         _PBGetUGEntrySync
  4550.             moveq               #68,D0
  4551.             dc.w                $A260
  4552.         EndM
  4553.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4554.         IMPORT_CFM_FUNCTION PBGetUGEntrySync
  4555.     ENDIF
  4556.  
  4557. ;
  4558. ; pascal OSErr PBGetUGEntryAsync(HParmBlkPtr paramBlock)
  4559. ;
  4560.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4561.         ; parameters:
  4562.         ;    paramBlock      => A0
  4563.         ; returns:
  4564.         ;    OSErr           <= D0
  4565.         Macro
  4566.         _PBGetUGEntryAsync
  4567.             moveq               #68,D0
  4568.             dc.w                $A660
  4569.         EndM
  4570.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4571.         IMPORT_CFM_FUNCTION PBGetUGEntryAsync
  4572.     ENDIF
  4573.  
  4574.  
  4575.  
  4576.  
  4577.     IF TARGET_CPU_68K THEN
  4578. ;    PBGetAltAccess and PBSetAltAccess are obsolete and will not be supported 
  4579. ;    on PowerPC. Equivalent functionality is provided by the routines 
  4580. ;    PBGetForeignPrivs and PBSetForeignPrivs.
  4581. ;
  4582.  
  4583. ;
  4584. ; pascal OSErr PBGetAltAccessSync(HParmBlkPtr paramBlock)
  4585. ;
  4586.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4587.         ; parameters:
  4588.         ;    paramBlock      => A0
  4589.         ; returns:
  4590.         ;    OSErr           <= D0
  4591.         Macro
  4592.         _PBGetAltAccessSync
  4593.             moveq               #96,D0
  4594.             dc.w                $A060
  4595.         EndM
  4596.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4597.         IMPORT_CFM_FUNCTION PBGetAltAccessSync
  4598.     ENDIF
  4599.  
  4600. ;
  4601. ; pascal OSErr PBGetAltAccessAsync(HParmBlkPtr paramBlock)
  4602. ;
  4603.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4604.         ; parameters:
  4605.         ;    paramBlock      => A0
  4606.         ; returns:
  4607.         ;    OSErr           <= D0
  4608.         Macro
  4609.         _PBGetAltAccessAsync
  4610.             moveq               #96,D0
  4611.             dc.w                $A460
  4612.         EndM
  4613.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4614.         IMPORT_CFM_FUNCTION PBGetAltAccessAsync
  4615.     ENDIF
  4616.  
  4617. ;
  4618. ; pascal OSErr PBSetAltAccessSync(HParmBlkPtr paramBlock)
  4619. ;
  4620.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4621.         ; parameters:
  4622.         ;    paramBlock      => A0
  4623.         ; returns:
  4624.         ;    OSErr           <= D0
  4625.         Macro
  4626.         _PBSetAltAccessSync
  4627.             moveq               #97,D0
  4628.             dc.w                $A060
  4629.         EndM
  4630.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4631.         IMPORT_CFM_FUNCTION PBSetAltAccessSync
  4632.     ENDIF
  4633.  
  4634. ;
  4635. ; pascal OSErr PBSetAltAccessAsync(HParmBlkPtr paramBlock)
  4636. ;
  4637.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4638.         ; parameters:
  4639.         ;    paramBlock      => A0
  4640.         ; returns:
  4641.         ;    OSErr           <= D0
  4642.         Macro
  4643.         _PBSetAltAccessAsync
  4644.             moveq               #97,D0
  4645.             dc.w                $A460
  4646.         EndM
  4647.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4648.         IMPORT_CFM_FUNCTION PBSetAltAccessAsync
  4649.     ENDIF
  4650.  
  4651.     ENDIF    ; TARGET_CPU_68K
  4652.  
  4653. ;    The PBxxx() routines are obsolete.  
  4654. ;    
  4655. ;    Use the PBxxxSync() or PBxxxAsync() version instead.
  4656. ;
  4657.  
  4658.     IF OLDROUTINELOCATIONS THEN
  4659.     ENDIF    ; OLDROUTINELOCATIONS
  4660.     ENDIF ; __FILES__ 
  4661.  
  4662.